针对多线程高并发服务场景下,原生 malloc/free 存在频繁加锁导致的锁竞争激烈以及内存碎片化问题。本项目参考 Google TCMalloc 架构设计,旨在提升多线程环境下的内存申请与释放效率,适用于高并发服务器、游戏后台及高频数据处理组件。
点击空白处退出提示
语言技术
C++、C、自动化测试、Linux系统类型
Windows行业分类
企业服务开源地址
https://gitee.com/yes-qingxin/concurrent-memory-pool授权协议
MIT许可演示地址
https://blog.csdn.net/m0_74247579/article/details/159586403?fromshare=blogdetail&sharetype=blogdetail&sharerId=159586403&sharerefer=PC&sharesource=m0_74247579&sharefrom=from_link
针对多线程高并发服务场景下,原生 malloc/free 存在频繁加锁导致的锁竞争激烈以及内存碎片化问题。本项目参考 Google TCMalloc 架构设计,旨在提升多线程环境下的内存申请与释放效率,适用于高并发服务器、游戏后台及高频数据处理组件。
本项目基于 C++ 实现高性能高并发内存池,主要功能模块包括:
三级缓存架构:实现 ThreadCache(线程本地无锁分配)、CentralCache(居中按需锁分配)与 PageCache(大页内存拆分与回收)。
基数树映射优化:基于三层基数树 (PageMap) 实现无锁 PAGE_ID 到 Span* 的快速映射查找,显著优化内存释放路径。
内存回收与对齐:支持对象大小分级对齐、Span 页级内存合并,有效缓解多线程场景下的锁竞争与内存碎片。
独立负责高并发内存池的架构设计与核心模块编码实现。编写了基于 TLS 的 ThreadCache 隔离逻辑与基数树无锁查找算法,并搭建多线程压力测试环境与原生 malloc 进行 Benchmark 对比,验证了高并发下的显著性能提升与稳定性。



评论