docs.rs failed to build snmalloc-rs-0.1.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build:
snmalloc-rs-0.3.5
snmalloc-rs
snmalloc-rs
provides a wrapper for microsoft/snmalloc
to make it usable as a global allocator for rust.
snmalloc is a research allocator. Its key design features are:
- Memory that is freed by the same thread that allocated it does not require any synchronising operations.
- Freeing memory in a different thread to initially allocated it, does not take any locks and instead uses a novel message passing scheme to return the memory to the original allocator, where it is recycled.
- The allocator uses large ranges of pages to reduce the amount of meta-data required.
The benchmark is available at the paper of snmalloc
There are three features defined in this crate:
debug
: Enable theDebug
mode insnmalloc
.1mib
: Use the1mib
chunk configuration.cache-friendly
: Make the allocator more cache friendly (settingCACHE_FRIENDLY_OFFSET
to64
in building the library).
To use snmalloc-rs
add it as a dependency:
# Cargo.toml
[]
= "0.1.0"
To set SnMalloc
as the global allocator add this to your project:
static ALLOC: SnMalloc = SnMalloc;