直接用现有的通用分配器,这是最快能看到效 果的。 大多数项目都是用现有的通用分配器来大幅缓 解碎片,因为改造成本非常低。现代的通用分 配器都是用 size-class + per-thread cache 路。 size-class机制:把小对象归类到固定尺寸槽 位,减少外部碎片; per-thread cache:每线程本地缓存减少锁 竞争。
先用jemalloc”跑压测,看看碎片和大块分配 成功率;如果小对象吞吐还是不够,再试 tcmalloc*/mimalloc"。 如果不用通用分配器,也不要自己手写复杂变 长池,可以用分段定长池。把变长对象装到 固定档位。 比如:



请登录后发表评论
注册
停留在世界边缘,与之惜别