0

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

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

4

1 回答 1

1

堆栈分配由一条机器指令组成 - 更改堆栈指针。很难看到任何其他方案可以达到这种效率。而且您通常通过类似 malloc 的函数(当然有函数调用开销)使用堆栈分配和动态分配来实现不同的目的,因此“更快”的问题是没有实际意义的。

于 2017-06-19T17:34:15.800 回答