MCPcopy Index your code
hub / github.com/EmbarkStudios/rpmalloc-rs

github.com/EmbarkStudios/rpmalloc-rs @rpmalloc-sys-v0.2.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release rpmalloc-sys-v0.2.3 ↗ · + Follow
14 symbols 14 edges 5 files 3 documented · 21%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

🐏 rpmalloc-rs

Cross-platform Rust global memory allocator using rpmalloc.

Embark Embark Crates.io Docs dependency status Build Status

Overview

See the rpmalloc README for a detailed description of how the allocator works, peforms, and compares with other allocators.

How to use

To use rpmalloc as the global allocator in your Rust binary crate, in Cargo.toml add:

[dependencies]
rpmalloc = "0.2.0"

And then in one of your .rs files:

#[global_allocator]
static ALLOC: rpmalloc::RpMalloc = rpmalloc::RpMalloc;

Configuration

It is also possible to configure how the allocator should be built through a set of feature flags that correspond to the rpmalloc C library ENABLE_x defines:

  • Overall: statistics, validate_args, asserts, guards
  • Cache: unlimited_cache, unlimited_global_cache, unlimited_thread_cache, global_cache, thread_cache, adaptive_thread_cache

Example usage:

[dependencies]
rpmalloc = { version = "0.2.0", features = ["guards", "statistics"] }

See rpmalloc README for detailed descriptions of the config options.

Note that all of these have not been tested together with this Rust crate.

Support

This crate has been tested to support the following platforms and Rust targets:

  • x86_64-pc-windows-msvc
  • x86_64-apple-darwin
  • x86_64-unknown-linux-gnu

PRs to increase the amount of supported targets are welcome, but they should add CI verification and avoid adding additional dependencies.

Contributing

Contributor Covenant

We welcome community contributions to this project.

Please read our Contributor Guide for more information on how to get started.

License

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.

Note that the rpmalloc library this crate uses is under public domain, and can also be licensed under MIT.

Contribution

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

Core symbols most depended-on inside this repo

Shape

Class 5
Method 5
Function 4

Languages

Rust100%

Modules by API surface

src/lib.rs6 symbols
rpmalloc-sys/src/lib.rs4 symbols
rpmalloc-sys/src/tests.rs2 symbols
tests/global.rs1 symbols
rpmalloc-sys/build.rs1 symbols

For agents

$ claude mcp add rpmalloc-rs \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page