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

标签 c++

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

最佳答案

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

如果适用于您的平台,我会推荐 valgrind 的 massif 堆分析器和可选的 massif-visualizer

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

http://gitorious.org/massif-visualizer

关于c++ - 我可以使用哪个工具来跟踪 C++ 程序中每个函数的效率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12160834/

相关文章:

c++ - 与要定义的规则序列相关的 Makefile 行为

c++ - 我是否需要通知 QTableView QAbstractTableModel 子类中的列数发生了变化?

c++ - 静态 constexpr 模板成员在专门化时给出 undefined reference

c++ - 我如何声明一个放在 main 之后的类模板?

c++ - 使用指向基类的指针访问 protected 继承成员

引用类型的 C++11 成员变量, vector push_back 后的不同行为

c++ - gcc 内联 asm,未知的 sse 操作码

c++ - 函数概念返回类型(必须是bool)

java - Java 和 C++ 中双重分派(dispatch)和访问者模式的区别

c++ - 如何放入 addStaff(const Staff&) 数组