Skip to content

参照Google的tcmalloc,实现一个简化版本的内存池案例

License

Notifications You must be signed in to change notification settings

UnsterblichW/tiny_TCMalloc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tiny_TCMalloc

简介:

  1. 参考了Google的TCMalloc项目来实现一个简易的内存池,
  2. 未支持多平台(仅支持windows),
  3. TCMalloc是Google对C的 Malloc() 和C++ 的运算符new的定制实现,可用于C和C++代码中的内存分配。TCMalloc是一个快速的多线程Malloc实现。

参考项目:

Google TCMalloc


参考知识:


项目运行平台:

IDE:Visual Studio 2022 System: Windows10 / 11


一些问题记录:

Q: 为什么ThreadCache中单次只能申请不超过256KB的空间,这个256KB怎么来的?

  • A: 不太清楚,反正Google的tcmalloc里面的Thread_Cache也是这样限制的

Q: 如何保证每一个ThreadCache仅仅属于申请它的线程,如何让线程与线程之间的ThreadCache不会相互影响?

  • A: 重要概念,Thread Local Storage

重要知识点

Thread Local Storage / thread_local Microsoft文档 cppreference


个人整理的文档(on working。。。)

notion 文档

About

参照Google的tcmalloc,实现一个简化版本的内存池案例

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages