公共领域的跨平台无锁线程缓存,16 字节对齐的内存分配器,采用 C 语言实现
我们认为, rpmalloc 的性能比大多数流行的内存分配器如 tcmalloc、hoard、ptmalloc3 等都要快,而且不会导致额外的分配内存开销,与这些分配器相比,线程缓存中没有额外的内存开销。我们还认为,与这些分配器相比, rpmalloc 的实现更容易阅读和修改,因为它是一个包含约 3300 行 C 代码的单源文件。所有分配都具有自然的 16 字节对齐。
下图显示了 rptest 基准测试的吞吐量,在 [16, 8000] 字节范围内随机分配大小的区块,采用线性衰减分布和跨线程释放,随着线程数量从 1 个增加到 16 个。越高越好。
这些数字是在运行 Ubuntu 26.04 的第 13 代 Intel Core i7-13800H (14 核/20 线程) 上收集的,将 rpmalloc 与几种流行的分配器的当前版本进行了比较。实际数字不应被解释为绝对性能指标,而是作为各分配器之间的相对比较。
暂无开放 Issues,或尚未同步最近议题。