benches | ||
ci | ||
jemalloc-sys | ||
src | ||
systest | ||
tests | ||
.appveyor.yml | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
Cargo.toml | ||
Cross.toml | ||
LICENSE-APACHE | ||
LICENSE-MIT | ||
README.md |
jemallocator
Documentation
maser
branch documentation
A Rust allocator crate which links to jemalloc
and provides a Jemalloc
unit type for use with the #[global_allocator]
attribute.
Usage:
# Cargo.toml
[dependencies]
jemallocator = "0.1.8"
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:
build
: does the library compile for the target?run
: do the tests pass on the target?
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 |
---|---|---|
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 |
x86_64-apple-darwin (tier 1) |
✓ | ✓ |
i686-apple-darwin (tier 1) |
✓ | ✓ |
Windows targets: | build | run |
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 |
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
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
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.