tcmalloc 与纯堆栈分配性能有多接近



我推断,如果 tcmalloc 维护一个每线程自由列表,从中可以满足动态分配,那么 tcmalloc 在平均情况下的性能应该非常接近堆栈分配(调整池大小的成本在许多操作中摊销(。

这在实际操作中是否成立?有没有我没有想到的退化案例?

堆栈分配由单个机器指令组成 - 更改堆栈指针。很难看出任何其他方案如何达到这种效率。而且你通常通过类似malloc的函数(当然有函数调用开销(使用堆栈分配和动态分配来实现不同的目的,所以哪个是"更快"的问题有点没有意义。

最新更新