我可以使用哪个工具来跟踪C ++程序中每个函数的效率?

时间:2012-08-28 13:55:32

标签: c++

我现在正在开发一个相对较大的C ++程序,它由几个函数组成。 C ++程序将按顺序运行这些函数。我想知道的是每个函数占用多少时间和内存。对于时间消耗,一个解决方案是使用BOOST::Timer库。但是,对于内存使用情况,我找不到合适的库来完成这项工作。我想知道你是否对这个问题有一些想法。此外,有人知道一些可以创建类似于MATLAB profile的程序效率报告的工具吗?谢谢!

1 个答案:

答案 0 :(得分:2)

您没有指定您的操作系统或编译器。您想要的通常称为 profiler 。使用计时器进行性能分析不是一个好主意。对于内存分析,请查找“heap-profiler”。

如果适用于您的平台,我建议使用valgrind的 massif 堆分析器和可选的 massif-visualizer

http://valgrind.org/docs/manual/ms-manual.html

http://gitorious.org/massif-visualizer