Back to browse
GitHub Repository

Arena-based memory model for compiled languages — automatic O(1) heap reclamation at scope exit, no GC, no borrow checker, no manual frees. Allocation routing is resolved at compile time via user-defined lifetime scopes. Includes a C macro shim PoC and benchmarks.

3 starsC

Scope-structured arena memory for C, O(1) cleanup, no GC/borrow checker

by theperezident·Apr 15, 2026·5 points·1 comment

AI Analysis

●●●BangerWizardryBig Brain

O(1) arena cleanup with handles making dangling pointers unconstructable by default.

Strengths
  • 30× benchmark improvement on 1M-node tree cleanup (31ms down to 1ms)
  • ARENA_PTR packed handles encode arena_id preventing cross-scope dangling
  • SCOPE(ptr) syntax makes lifetime extension explicit at call sites
Weaknesses
  • C macro PoC only—author admits targeting a compiled language eventually
  • 0.76× regression in tight inner loops due to DEREF pointer hoisting limits
Target Audience

Systems programmers, C developers, compiler engineers

Similar To

Rust arenas · Region-based memory management · C++ memory pools

Post Description

Ariandel is a memory model where every heap object lives in a scope-owned arena. Scope exit resets the arena in O(1) — one bump pointer write and one free — regardless of how many objects were allocated.

The safety default: allocating functions return ARENA_PTR handles (packed arena_id + offset integers), not raw pointers. A dangling pointer at a function return boundary is unconstructable by default. Cross-scope lifetime extension is explicit — you enter the target arena via SCOPE(ptr) before allocating, which routes the object into the outer arena without transferring ownership.

Benchmarks (no optimization flags): 1M-node tree cleanup drops from 31ms to 1ms (~30×). There's a real regression in tight inner loops (~0.76×) because DEREF can't hoist the base pointer the way a compiler would — the spec documents this honestly.

This is a C macro-based proof-of-concept for a memory model I'm targeting in a compiled language. The interesting question isn't the C implementation — it's whether scope-structured arena routing is a sound replacement for GC and borrow checking across the class of programs that matter.

Repo: https://github.com/hollow-arena/ariandel — SPEC.md has the full model including concurrency semantics and the comparison to Tofte & Talpin region-based memory.

Similar Projects

AI/ML●●Solid

Open-source toolkit for AI memory that scales

PostgreSQL ltree beats graph traversal for hierarchical AI memory with versioning.

Big BrainNiche Gem
0xJaksun
1018d ago