#numa #memory #allocator #numa-aware

nightly numanji

Local-affinity first NUMA-aware allocator with optional fallback

4 releases

0.1.5 Aug 12, 2020
0.1.4 Jul 4, 2020
0.1.3 Jul 2, 2020
0.1.2 Nov 3, 2019

#259 in Memory management

Apache-2.0/MIT

8KB
113 lines


Local-affinity first NUMA-aware allocator with optional fallback.

This crate supplies NUMA-aware local policy enabled allocation.

When using autoselect

Fallback system is triggered with autoselect. If system is not supporting NUMA-aware allocation it falls back to Jemalloc.

When using NUMA-aware

If autoselect is not used, memmap fallback will be triggered with default system page size and it will be used as allocator.

// Allocator generator macro
use numanji::*;

// Do autoselect for allocator
autoselect!();

fn main() {
    // Allocated by Numanji based on your Numa availability on your system.
    let _vec = Vec::<usize>::with_capacity(1234);
}

Dependencies

~250–610KB
~15K SLoC