Find a file
2018-10-24 18:10:42 +02:00
benches Adds benchmarks for nallocx, calloc, alloc, alloc_excess, ralloc, ralloc_excess (#26) 2017-11-27 10:07:57 -08:00
ci run {i586,i686}-unknown-linux-gnu test inside docker 2018-10-24 18:10:42 +02:00
jemalloc-sys Jemalloc --disable-thp option has been removed 2018-10-23 14:49:48 +02:00
src fix shrink_to_fit implementation 2018-07-11 19:46:26 +02:00
systest Expose more jemalloc configure options 2018-10-23 14:49:48 +02:00
tests Upgrade to rustc 1.28.0-nightly (b68432d56 2018-06-12) 2018-06-13 19:46:20 +02:00
.appveyor.yml fixup 2018-05-04 16:59:37 +02:00
.gitignore Initial commit 2016-01-20 17:03:24 -08:00
.gitmodules update jemalloc5.1RC1 to jemalloc5.1 2018-05-16 19:16:50 +02:00
.travis.yml update macosx buildbots to xcode10 2018-10-24 18:10:42 +02:00
Cargo.toml Bump jemalloc-sys to 0.1.8 2018-10-20 12:53:19 -07:00
Cross.toml Set sparc's page-size to 16kB on CI. 2018-10-23 14:49:48 +02:00
LICENSE-APACHE Fill out some more project metadata 2016-01-20 17:06:21 -08:00
LICENSE-MIT Fill out some more project metadata 2016-01-20 17:06:21 -08:00
README.md add link to master branch documentation 2018-10-24 18:10:42 +02:00

jemallocator

Build Status Build Status

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

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.