使用了thread cache,小块的内存分配都可以从cache中分配。多线程分配内存的情况下,可以减少锁竞争。
tcmalloc官方文档见:
https://gperftools.github.io/gperftools/tcmalloc.html
tcmalloc可以替换大多数系统、不同编译器环境下的内存分配函数(malloc/free/new/delete),针对不同的编译器和操作系统,替换的方式有所不同。
对于GCC编译的glibc的替换,则采用GNU C中提供的__attribute__(alias)别名机制,定义和glibc中实际调用的函数同名的函数,并将其声明为tcmalloc对应函数的别名。gcc glibc中内存分配的函数为弱符号(week symbol),在链接时便顺利被tcmalloc替代。
其他环境下的替换方式,可参见libc_override_*.h
————————————————
版权声明:本文为CSDN博主「天蓝控」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/shiludeng/article/details/78615797