.. | ||
configure | ||
jemalloc@61efbda709 | ||
src | ||
tests | ||
build.rs | ||
Cargo.toml | ||
readme.md | ||
update_jemalloc.md |
jemalloc-sys - Rust bindings to the jemalloc
C library
Note: the Rust allocator API is implemented for
jemalloc
in thejemallocator
crate.
jemalloc
is a general purpose memory allocation, its documentation
can be found here:
- API documentation
- Wiki (design documents, presentations, profiling, debugging, tuning, ...)
Current jemalloc version: 5.1.
Feature flags
This crate provides following cargo feature flags:
-
profiling
: configurejemalloc
with--enable-prof
. -
stats
: configurejemalloc
with--enable-stats
. -
debug
: configurejemalloc
with--enable-debug
. -
bg_thread
(enabled by default): when disabled, configurejemalloc
with--with-malloc-conf=background_thread:false
. -
unprefixed_malloc_on_supported_platforms
: when disabled, configurejemalloc
with--with-jemalloc-prefix=_rjem_
. Enabling this causes symbols likemalloc
to be emitted without a prefix, overriding the ones defined by libc. This usually causes C and C++ code linked in the same program to usejemalloc
as well.On some platforms prefixes are always used because unprefixing is known to cause segfaults due to allocator mismatches.
See jemalloc/INSTALL.md
.
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.