Skip to content

tcache 记录

复制本地路径 | 在线编辑

问题

为什么 tcache 比 fastbin 更快,他们都是单向链表

最主要原因是 tcachebin 是线程私有、无锁的,相当于在线程里面放了一个结构体。此外 tcachebin 不做合并检测,校验相对也少,所以相对也会更快。

为什么 tcache 每个链表数量是 7 个

经验驱动。作者认为在真实 workload 下,7 已经能覆盖绝大多数小对象的瞬时峰值,再多性价比不高。

快速跳转

  1. key 字段说明
  2. safe-linking 机制

Comments