摘要:
线程本地cache 线程本地cache对应的是类 ThreadCache,每一个thread一个实例,初始化代码在static函数CreateCacheIfNecessary中, 在该线程第一次申请内存的时候初始化,调用堆栈是 : 1 tcmalloc::ThreadCache::CreateCacheIfNecessary()2 tcmalloc::ThreadCa... 阅读全文
摘要:
替换libc中的malloc free 不同平台替换方式不同。 基于unix的系统上的glibc,使用了weak alias的方式替换。具体来说是因为这些入口函数都被定义成了weak symbols,再加上gcc支持 alias attribute,所以替换就变成了这种通用形式: void* malloc(size_t size) __THROW __attribute__ (... 阅读全文