37 releases

0.1.48 Aug 26, 2025
0.1.47 Jun 16, 2025
0.1.46 Apr 7, 2025
0.1.44 Mar 18, 2025
0.1.5 Jul 2, 2019

#7 in Memory management

Download history 478136/week @ 2025-12-16 213883/week @ 2025-12-23 292701/week @ 2025-12-30 552890/week @ 2026-01-06 623330/week @ 2026-01-13 769648/week @ 2026-01-20 699052/week @ 2026-01-27 682668/week @ 2026-02-03 679953/week @ 2026-02-10 747422/week @ 2026-02-17 792210/week @ 2026-02-24 933633/week @ 2026-03-03 875047/week @ 2026-03-10 650191/week @ 2026-03-17 564743/week @ 2026-03-24 566645/week @ 2026-03-31

2,816,142 downloads per month
Used in 677 crates (524 directly)

MIT license

1MB
21K SLoC

C 21K SLoC // 0.2% comments Rust 512 SLoC // 0.0% comments

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 v3

By default this library uses mimalloc v2. To enable v3, put in Cargo.toml:

[dependencies]
mimalloc = { version = "*", features = ["v3"] }

Dependencies