基于消息传递的分配器
snmalloc 是一个高性能分配器。snmalloc 可以作为只包含头文件的 C++ 库直接在项目中使用,可以在 Elf 平台(例如 Linux、BSD)上使用 LD_PRELOAD,并且有 crate 可用于从 Rust 中使用。其主要设计特点包括:
snmalloc 的设计特别适合以下两种困难的情况,这些情况可能会对其他分配器造成问题:
自 最初的论文 以来, snmalloc 的实现已经发生了很大的变化。将内存返回给远程线程的机制保持不变,但大部分元数据布局都发生了变化。我们建议您阅读 安全文档,了解当前的设计,如果您想深入了解代码, 地址空间文档 可以为分配和释放路径提供一个很好的概述。
暂无开放 Issues,或尚未同步最近议题。