对于单线程测试程序,是否可以从Windows MSVCR90.DLL中删除_threadhandle?

时间:2011-07-16 15:27:51

标签: windows memory-management

早上好。我们正在尝试将Google的tcmalloc自定义多线程内存分配器与单线程Windows Test profram一起使用。当我们分析测试程序时,我们观察到在_threadhandle和tcmalloc多线程函数(例如perftools_pthread_getspecific)上花费了大量的CPU周期。以下是个人资料的示例:

KiFastSystemCallRet cIntersectingGroupCache ::过程 cIntersectingGroupCache :: BruteForceDeduping cIntersectingGroupCache :: FindIntersection cDedupe :: AccurateNearCompare HashMapanonymous namespace':: do_free_with_callback 的std :: basic_string的<炭 tcmalloc :: ThreadCache ::取消分配 memcmp 的HashMap<性病:: basic_string的<炭 匿名命名空间':: do_malloc std :: _ Treeanonymous namespace':: LibcInfoWithPatchFunctions< 0> :: Perftools_delete 匿名命名空间':: cpp_alloc perftools_pthread_getspecific ???????? tcmalloc :: ThreadCache :: ::的FreeList推 的std :: _树

我们是否可以使用额外的预处理器directivesor编译器优化来重建新版本的libtcmalloc.dll,这些优化不会运行_threadhandle和perftools_pthread_getspecific等线程函数?我们正在使用NO_THREADS预处理器定义来构建libtcmalloc.dll,但我们仍然遇到两个先前命名的tcmalloc线程相关函数?谢谢。

0 个答案:

没有答案