#分配器 #端口 #rustix #移植 #Linux #dlmalloc

rustix-dlmalloc

Rust 版本的 dlmalloc 分配器,移植到 rustix

6 个版本

0.1.6 2024 年 6 月 12 日
0.1.5 2024 年 3 月 1 日
0.1.4 2024 年 1 月 30 日
0.1.2 2023 年 12 月 20 日
0.1.0 2023 年 8 月 25 日

#93内存管理

Download history 61/week @ 2024-05-03 63/week @ 2024-05-10 201/week @ 2024-05-17 85/week @ 2024-05-24 58/week @ 2024-05-31 168/week @ 2024-06-07 61/week @ 2024-06-14 46/week @ 2024-06-21 58/week @ 2024-06-28 30/week @ 2024-07-05 23/week @ 2024-07-12 10/week @ 2024-07-19 17/week @ 2024-07-26 8/week @ 2024-08-02 28/week @ 2024-08-09 138/week @ 2024-08-16

191 每月下载量
5 个 Crates 中使用 (直接使用 3 个)

MIT/Apache

310KB
6K SLoC

C 3.5K SLoC // 0.4% comments Rust 2K SLoC // 0.0% comments

rustix-dlmalloc

这是将 dlmalloc-rs crate 移植到 rustix 的版本。

当前的 "global" 功能依赖于仅在 Linux 上支持的 rustix-futex-sync。

以下为原始 README.md

dlmalloc 移植到 Rust。

文档

为什么是 dlmalloc?

这个 crate 是将 dlmalloc 移植到 Rust 的版本,且不依赖于 C。这个 crate 的主要目的是为 wasm32-unknown-unknown 目标提供默认的分配器。在编写这个文档时,wasm 目标不支持 C 代码,因此需要一个纯 Rust 解决方案。

这个分配器并不是性能最好的。我认为,它主要是为了易于移植和易于学习而设计的。在编写它的时候,我没有深入到实现细节,它只是 C 版本的直接移植。

通常情况下,Rust 代码不需要担心或与这个分配器交互。大多数时候,你将手动切换到另一个分配器 :)

许可证

此项目采用以下任一许可证:

由您选择。

贡献

除非您明确声明,否则您提交给此项目的任何有意包含的贡献,根据 Apache-2.0 许可证的定义,应按上述方式双重许可,而不附加任何额外条款或条件。

依赖项

~0-10MB
~107K SLoC