6 个版本

0.2.2 2021 年 5 月 17 日
0.2.0 2020 年 5 月 15 日
0.1.3 2019 年 11 月 5 日

#112 in 内存管理

Download history 489/week @ 2024-03-13 329/week @ 2024-03-20 257/week @ 2024-03-27 352/week @ 2024-04-03 274/week @ 2024-04-10 316/week @ 2024-04-17 239/week @ 2024-04-24 304/week @ 2024-05-01 298/week @ 2024-05-08 281/week @ 2024-05-15 301/week @ 2024-05-22 275/week @ 2024-05-29 307/week @ 2024-06-05 339/week @ 2024-06-12 458/week @ 2024-06-19 313/week @ 2024-06-26

1,464 每月下载量
用于 6 crates

MIT/Apache

400KB
8K SLoC

C 4K SLoC // 0.1% comments Python 2.5K SLoC // 0.0% comments Visual Studio Project 664 SLoC Rust 221 SLoC // 0.2% comments C++ 167 SLoC Visual Studio Solution 50 SLoC

🐏 rpmalloc-rs

Embark Embark Crates.io Docs dependency status Build Status

使用 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 定义对应的特性标志来配置如何构建分配器

  • 总体: statisticsvalidate_argsassertsguards
  • 缓存: unlimited_cacheunlimited_global_cacheunlimited_thread_cacheglobal_cachethread_cacheadaptive_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 验证并避免添加额外的依赖项。

贡献

Contributor Covenant

我们欢迎社区对该项目的贡献。

请阅读我们的 贡献指南 了解如何开始。

许可

许可协议为以下之一

任选其一。

注意,该 crate 使用的 rpmalloc 库属于公有领域,也可以使用 MIT 协议授权。

贡献

除非您明确声明,否则根据 Apache-2.0 许可证定义的,您有意提交的、旨在包含在作品中的任何贡献,将按照上述方式双重许可,不附加任何额外条款或条件。

依赖项

~230KB