# 基于tcmalloc的简化版高并发内存池 **Repository Path**: BingbingSuperEffort/High-concurrency-memory-pool ## Basic Information - **Project Name**: 基于tcmalloc的简化版高并发内存池 - **Description**: 该项目实现了多线程环境下的高并发内存分配器,使得多个线程可以并发无锁的进行内存申请,并且会进行内存碎片的合并,解决内存碎片化的问题,并且解决了多线程环境下的锁竞争问题,让线程申请内存的效率提高。经过比对实验,其效率比malloc高出20%左右 - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-03-22 - **Last Updated**: 2023-09-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 高效内存管理器 #### 介绍 该项目实现了多线程环境下的高并发内存分配器,使得多个线程可以并发无锁的进行内存申请,并且会进行内存碎片的合并,解决内存碎片化的问题,并且解决了多线程环境下的锁竞争问题,让线程申请内存的效率提高。经过比对实验,其效率比malloc高出20%左右 #### 开发环境 VS2019+Windows #### 模块简介 1. Common.h:公共文件,内存分割的基础算法 2. ConcurrentAlloc.h:对外提供申请和释放接口 3. ThreadCache.h:第一层,线程独立享用一个线程缓存 4. CentralCache.h:第二层,提供调度,线程缓存不够时向第二层索要内存 5. PageCache.h:第三层,提供大块内存,进行内存合并 6. ObjectPool.h:对象池,提供固定大小的内存申请和释放 7. PageMap.h:基数树的优化map,提供span与页号的映射 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)