A drop-in global allocator wrapper around the mimalloc allocator. Mimalloc is a general purpose, performance oriented allocator built by Microsoft.
Note: This is a fork of
mimalloc/libmimalloc-syspublished under the namesbc-mimallocandbc-libmimalloc-sys. It updates the bundled mimalloc C library to v2.2.7 (default) and v3.2.8 (opt-in via thev3feature).
use bc_mimalloc::MiMalloc;
#[global_allocator]
static GLOBAL: MiMalloc = MiMalloc;A C compiler is required for building mimalloc with cargo.
Using secure mode adds guard pages, randomized allocation, encrypted free lists, etc. The performance penalty is usually around 10% according to mimalloc own benchmarks.
To enable secure mode, put in Cargo.toml:
[dependencies]
bc-mimalloc = { version = "*", features = ["secure"] }By default this library uses mimalloc v2 (currently v2.2.7).
To enable v3 (v3.2.8), put in Cargo.toml:
[dependencies]
bc-mimalloc = { version = "*", features = ["v3"] }