Skip to content

bluecatengineering/mimalloc_rust

 
 

Repository files navigation

Mimalloc Rust

Latest Version Documentation

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-sys published under the names bc-mimalloc and bc-libmimalloc-sys. It updates the bundled mimalloc C library to v2.2.7 (default) and v3.2.8 (opt-in via the v3 feature).

Usage

use bc_mimalloc::MiMalloc;

#[global_allocator]
static GLOBAL: MiMalloc = MiMalloc;

Requirements

A C compiler is required for building mimalloc with cargo.

Usage with secure mode

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"] }

Usage with v3

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"] }

About

A Rust wrapper over Microsoft's MiMalloc memory allocator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 99.4%
  • C 0.6%