Crate lgalloc

source ·
Expand description

A size-classed file-backed large object allocator.

This library contains types to allocate memory outside the heap, supporting power-of-two object sizes. Each size class has its own memory pool.


This library is very unsafe on account of unsafe and interacting directly with libc, including Linux extension.

The library relies on memory-mapped files. Users of this file must not fork the process because otherwise two processes would share the same mappings, causing undefined behavior because the mutable pointers would not be unique anymore. Unfortunately, there is no way to tell the memory subsystem that the shared mappings must not be inherited.

Clients must not lock pages (mlock), or need to unlock the pages before returning them to lgalloc.





  • Allocate a memory area suitable to hold capacity consecutive elements of T.
  • Free the memory referenced by handle, which has been obtained from allocate.
  • Set or update the configuration for lgalloc.
  • Determine global statistics per size class