#allocator #memory #numa #mmap #global-allocator

nightly allocator-suite

Allocator Suite for various allocation types

7 releases

0.1.7 Aug 11, 2020
0.1.6 Jul 2, 2020
0.1.4 Nov 3, 2019

#206 in Memory management

26 downloads per month
Used in numanji

Apache-2.0/MIT

210KB
5K SLoC

Allocator Suite

This crate is mostly rewritten version of context-allocator crate. It contains better NUMA-aware global allocator with hygienic macros. Contains better likelihood paths and faster execution paths.

Usage

#![feature(allocator_api)]
#![feature(extern_types)]
#![feature(core_intrinsics)]
#![feature(libstd_sys_internals)]
#![feature(thread_local)]
#![feature(const_fn)]

// Allocator generator macro
use allocator_suite::switchable_allocator;

// General imports
use allocator_suite::adaptors::prelude::*;
use std::alloc::System;

switchable_allocator!(
    application_allocator,
    BumpAllocator<ArenaMemorySource<MemoryMapSource>>,
    MultipleBinarySearchTreeAllocator<MemoryMapSource>,
    GlobalAllocToAllocatorAdaptor<System>,
    GlobalAllocToAllocatorAdaptor(System)
);

Dependencies

~85KB