TCMalloc : Thread-Caching Malloc


TCMalloc比glibc 2.3 malloc即ptmalloc快,一个malloc/free操作对使用ptmalloc要300ns,而使用tcmalloc只要50ns


这样看来ptmalloc很慢,所以很多应用都倾向于自己管理由自己定制的空闲链表,这通常会消耗更多的内存。


除了速度快之外,TCmalloc还有很多优点


1. tcmalloc减少了多线程程序的锁竞争,对于小对象几乎没有竞争,对于大对象采用精化的高效旋转锁。ptmalloc2减少竞争是通过使用 【每线程-内存区】,但是由于这个实现的限制,内存不能跨内存区移动,这样会浪费空间, 例如在Google的一个应用由几个初始化阶段组成,第一阶段要分配300M的内存存储应用所需数据结构,到了第二阶段,如果为第二阶段分配到了另一个内存区,那么就无法重用第一阶段没用完剩下的内存。

2.tcmalloc另外一个好处是表示小对象的空间效率高,只会增加1%的内存开销,而ptmalloc2为每一个小对象增加一个4字节头部。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值