6 个版本
0.2.2 | 2021 年 5 月 17 日 |
---|---|
0.2.0 | 2020 年 5 月 15 日 |
0.1.3 | 2019 年 11 月 5 日 |
#112 in 内存管理
1,464 每月下载量
用于 6 crates
400KB
8K SLoC
🐏 rpmalloc-rs
使用 rpmalloc 的跨平台 Rust 全局内存分配器。
请参阅 rpmalloc README 了解分配器的工作方式、性能以及与其他分配器的比较。
如何使用
要将 rpmalloc 作为你的 Rust 二进制 crate 的全局分配器,在 Cargo.toml
中添加
[dependencies]
rpmalloc = "0.2.0"
然后在你的某个 .rs
文件中
#[global_allocator]
static ALLOC: rpmalloc::RpMalloc = rpmalloc::RpMalloc;
配置
还可以通过一组与 rpmalloc C 库 ENABLE_x
定义对应的特性标志来配置如何构建分配器
- 总体:
statistics
、validate_args
、asserts
、guards
- 缓存:
unlimited_cache
、unlimited_global_cache
、unlimited_thread_cache
、global_cache
、thread_cache
、adaptive_thread_cache
示例用法
[dependencies]
rpmalloc = { version = "0.2.0", features = ["guards", "statistics"] }
请参阅 rpmalloc README 了解配置选项的详细描述。
请注意,这些配置选项尚未与该 Rust crate 一起测试。
支持
该 crate 已测试以支持以下平台和 Rust 目标
x86_64-pc-windows-msvc
x86_64-apple-darwin
x86_64-unknown-linux-gnu
欢迎提出增加支持的目标的 PR,但它们应添加 CI 验证并避免添加额外的依赖项。
贡献
我们欢迎社区对该项目的贡献。
请阅读我们的 贡献指南 了解如何开始。
许可
许可协议为以下之一
- Apache License, Version 2.0, (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 协议 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
注意,该 crate 使用的 rpmalloc 库属于公有领域,也可以使用 MIT 协议授权。
贡献
除非您明确声明,否则根据 Apache-2.0 许可证定义的,您有意提交的、旨在包含在作品中的任何贡献,将按照上述方式双重许可,不附加任何额外条款或条件。
依赖项
~230KB