Skip to content

easy_memory v0.3.0 - Initial Baseline Release

Choose a tag to compare

@gooderfreed gooderfreed released this 01 Apr 04:29
· 52 commits to main since this release

This marks the first official tagged release of the easy_memory memory management system. The v0.3.0 version designation reflects the current maturity of the core engine. The fundamental architecture is established, fully functional, and rigorously verified, serving as the stable baseline for future sub-allocators and features.

Current State & Capabilities
The core memory management system is production-ready for its intended Thread-Local Storage (TLS) and single-threaded use cases. As of this release, the library provides:

  • The core Arena allocator featuring an adaptive strategy (O(1) tail allocations, O(log n) Triple-Key LLRB tree fallback).
  • Zero-overhead hierarchical memory management via nested scopes.
  • The O(1) Scratchpad mechanism for strict lifecycle isolation.
  • The Bump sub-allocator (including trim and reset capabilities).
  • Bit-packed metadata ensuring a strict 4-word overhead per block with dynamic alignment support.
  • An exhaustive validation pipeline: 100% test coverage backed by a 66-job CI matrix verifying behavior across multiple architectures (x86, ARM, s390x), compilers, C standards, and strict sanitizers (ASan, UBSan, Valgrind).

Roadmap to v1.0.0
Subsequent 0.x.x releases will focus on expanding the feature set and eliminating remaining architectural limitations to reach the 1.0.0 milestone. The immediate roadmap includes:

  1. Iterative LLRB Tree: Replacing the current recursive implementation to guarantee fixed O(1) stack usage.
  2. New Sub-Allocators: Implementation of Stack, Slab, and Queue (Ring Buffer) allocators.
  3. Metrics & Telemetry: Built-in tracking for fragmentation indexes and peak memory usage.
  4. Benchmarking Suite: Automated performance profiling against system malloc and alternative allocators.