TCMalloc的分配思想 #
在 TCMalloc 中,“TC”是 Thread Cache 的意思,其核心思想是: TCMalloc 会给每个线程分配一个 Thread-Local Cache,对于每个线程的分配请求,就可以从自己的 Thread-Local Cache 区间来进行分配。此时因为不会涉及多线程操作,所以并不需要进行加锁,从而减少了因为锁竞争而引起的性能损耗。
而当 Thread-Local Cache 空间不足的时候,才向下一级的内存管理器请求新的空间。TCMalloc 引入了 Thread cache、Central cache 以及 Page heap 三个级别的管理器来管理内存,可以充分利用不同级别下的性能优势。TCMalloc 的多级管理机制非常类似计算机系统结构的内存多级缓存机制。

Viewpoint #
From #
24 | GC实例:Python和Go的内存管理机制是怎样的?