项目简介
本项目是基于C++实现的内存分配管理系统,致力于提供高效的内存分配与释放机制。借助多级缓存(ThreadCache、CentralCache、PageCache)管理内存,可支持多线程环境下的并发内存操作。项目具备内存分配、释放、性能测试和单元测试等主要功能。
项目的主要特性和功能
- 多级缓存机制:
- ThreadCache:各线程拥有独立内存缓存,存储固定大小内存块,按大小分桶,能快速分配与释放。
- CentralCache:管理相同大小内存块链表(Span),支持跨线程的内存分配与释放。
- PageCache:管理页大小的内存块,实现页级别的内存分配与释放,优化内存碎片。
- 内存分配与释放:
- malloc:依据内存大小从ThreadCache、CentralCache或PageCache分配内存。
- free:按内存大小将内存释放回ThreadCache、CentralCache或PageCache。
- 性能测试:
- BenchmarkMalloc:测试标准
malloc
和free
的性能。 - BenchmarkConcurrentMalloc:测试自定义并发内存分配和释放函数的性能。
- BenchmarkMalloc:测试标准
- 单元测试:
- UnitTest:验证内存分配和释放逻辑,包括内存页的ID转换和内存地址对应关系。
安装使用步骤
- 编译项目:使用C++编译器(如g++)编译项目源码。
bash g++ -o tcmalloc main.cpp src/*.cpp -lpthread
- 运行项目:执行编译生成的可执行文件。
bash ./tcmalloc
- 查看测试结果:项目运行后,会输出内存分配和释放的性能测试结果,以及单元测试的验证结果。
下载地址
点击下载 【提取码: 4003】