我正在尝试分析应用程序以使用不同的分配策略比较其性能。
使用 tcmalloc 时我可以毫无问题地对其进行分析,但是如何使用 libc 的分配函数对其进行分析?实际上,启用 gperftool 的堆分析器需要使用-ltcmalloc
标志¹,但这会导致 tcmalloc 被用作分配策略。
如何使用 libc 的分配函数对其进行分析?
注意:这个要求有点奇怪:当你从 tcmalloc 切换到 GLIBC malloc 时,你的应用程序不会突然开始使用更多或更少的堆内存,或者改变它的分配模式或站点。
从https://gperftools.github.io/gperftools/heapprofile.html:
堆分析需要使用 libtcmalloc。在堆分析器的未来版本中可能会删除此要求,并将堆分析器分离到自己的库中。
这样你就可以
我不知道今天有任何现有的 GLIBC 等效项。