jemallocator

![Travis-CI Status] ![Appveyor Status] ![Latest Version] ![docs]

Links against jemalloc and provides a Jemalloc unit type that implements the allocator APIs and can be set as the #[global_allocator]

Overview

The jemalloc support ecosystem consists of the following crates:

Documentation

To use jemallocator add it as a dependency:

```toml

Cargo.toml

[dependencies] jemallocator = "0.3.0" ```

To set jemallocator::Jemalloc as the global allocator add this to your project:

```rust extern crate jemallocator;

[global_allocator]

static ALLOC: jemallocator::Jemalloc = jemallocator::Jemalloc; ```

And that's it! Once you've defined this static then jemalloc will be used for all allocations requested by Rust code in the same program.

Platform support

The following table describes the supported platforms:

Tier 1 targets are tested on all Rust channels (stable, beta, and nightly). All other targets are only tested on Rust nightly.

| Linux targets: | build | run | jemalloc | valgrind | |-------------------------------------|-----------|---------|--------------|--------------| | aarch64-unknown-linux-gnu | ✓ | ✓ | ✗ | ✗ | | arm-unknown-linux-gnueabi | ✓ | ✓ | ✗ | ✗ | | armv7-unknown-linux-gnueabi | ✓ | ✓ | ✗ | ✗ | | i586-unknown-linux-gnu | ✓ | ✓ | ✓ | ✗ | | i686-unknown-linux-gnu (tier 1) | ✓ | ✓ | ✓ | ✗ | | mips-unknown-linux-gnu | ✓ | ✓ | ✗ | ✗ | | mipsel-unknown-linux-musl | ✓ | ✓ | ✗ | ✗ | | mips64-unknown-linux-gnuabi64 | ✓ | ✓ | ✗ | ✗ | | mips64el-unknown-linux-gnuabi64 | ✓ | ✓ | ✗ | ✗ | | powerpc-unknown-linux-gnu | ✓ | ✓ | ✗ | ✗ | | powerpc64-unknown-linux-gnu | ✓ | ✓ | ✗ | ✗ | | powerpc64le-unknown-linux-gnu | ✓ | ✓ | ✗ | ✗ | | x86_64-unknown-linux-gnu (tier 1) | ✓ | ✓ | ✓ | ✓ | | MacOSX targets: | build | run | jemalloc | valgrind | | x86_64-apple-darwin (tier 1) | ✓ | ✓ | ✗ | ✗ | | i686-apple-darwin (tier 1) | ✓ | ✓ | ✗ | ✗ | | Windows targets: | build | run | jemalloc | valgrind | | x86_64-pc-windows-msvc (tier 1) | ✗ | ✗ | ✗ | ✗ | | i686-pc-windows-msvc (tier 1) | ✗ | ✗ | ✗ | ✗ | | x86_64-pc-windows-gnu (tier 1) | ✓ | ✓ | ✗ | ✗ | | i686-pc-windows-gnu (tier 1) | ✓ | ✓ | ✗ | ✗ | | Android targets: | build | run | jemalloc | valgrind | | aarch64-linux-android | ✓ | ✓ | ✗ | ✗ | | x86_64-linux-android | ✓ | ✓ | ✓ | ✗ |

Features

The jemallocator crate re-exports the features of the jemalloc-sys dependency.

License

This project is licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in jemallocator by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.