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