purpleprotocol/mimalloc_rust

A Rust wrapper over Microsoft's MiMalloc memory allocator

Rust

835

252 commits

updated Jun 30, 2026

See the code

README

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.

Usage

use 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]
mimalloc = { version = "*", features = ["secure"] }

Usage with v2

By default this library uses mimalloc v3. To use MiMalloc v2, write in Cargo.toml:

[dependencies]
mimalloc = { version = "*", features = ["v2"] }
allocator
mimalloc
rust

Significant stargazers

(top 24 of 40)

Linda_pp

1,937 followers · starred Oct 2021

Jon Gjengset

13,912 followers · starred Jul 2019

Weihang Lo

623 followers · starred Oct 2024

Heinz N. Gies

289 followers · starred Jul 2019

purpleprotocol/mimalloc_rust

A Rust wrapper over Microsoft's MiMalloc memory allocator

Rust

835

252 commits

updated Jun 30, 2026

See the code

README

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.

Usage

use 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]
mimalloc = { version = "*", features = ["secure"] }

Usage with v2

By default this library uses mimalloc v3. To use MiMalloc v2, write in Cargo.toml:

[dependencies]
mimalloc = { version = "*", features = ["v2"] }
allocator
mimalloc
rust

Significant stargazers

(top 24 of 40)

Linda_pp

1,937 followers · starred Oct 2021

Jon Gjengset

13,912 followers · starred Jul 2019

Weihang Lo

623 followers · starred Oct 2024

Heinz N. Gies

289 followers · starred Jul 2019