tcmalloc

性能指标

分配时间

tcmallocptmalloc2 的几个不同的性能指标可以从下图中看出优劣:

对比图1

分配开销

每秒 CPU 时间的操作数(百万次)与线程数,最大分配大小在 64 Bytes - 128 Kbytes 之间:

对比图2

在这里可以再次看到 tcmallocptmalloc 更一致、更高效。 对于最大分配大小 <32Ktcmalloc 通常可以在大量线程的情况下实现大约 250万次每秒的CPU操作时间,而 ptmalloc2 通常只能实现 50万-100万次每秒的 CPU 操作时间,很多libc实现了小于这个数字。 超过 32K 最大分配大小时,tcmallocCPU 时间会下降到每秒100万-150万次操作,而对于大量线程的ptmalloc2几乎下降到零(即,使用 ptmalloc2,大量的 CPU 时间被消耗在等待大量线程的锁上)多线程情况)。