c++ - 用于 C++ 分析的 Very sleepy 和 Callgrind 之间的区别

标签 c++ profiling valgrind callgrind verysleepy

我正在尝试了解 Very Sleepy 之间的区别和 Callgrind用于分析。我打算分析的代码是用 C++ 编写的,可以在 Linux 和 Windows 下运行。

在 Linux 上,我能够使用 Callgrind 查看 Self 和 inclusive 的相关成本。据我了解,Callgrind 使用仪器分析技术并花费大量时间。然而,Very Sleepy 使用统计分析并且速度非常快。由于两者使用不同的分析方法,我无法比较两者的结果。

有没有一种方法可以在 Linux 和 Windows 上进行某种配置文件比较?不幸的是,Callgrind 不适用于 Windows,反之亦然。

最佳答案

没有。这种比较是在两个不同的事物之间进行的。在无法承受开销的情况下使用采样来获得准确的分析。当您需要了解随时间推移的控制流时,请使用检测。

关于c++ - 用于 C++ 分析的 Very sleepy 和 Callgrind 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29091770/

相关文章:

c++ - 谁拥有 QQmlIncubator 返回的对象?

c++ - 编译器说变量没有声明,但它在前一行声明了

C++:外部对象循环引用

c++ - OSX Yosemite 上的 Valgrind callgrind

luaL_newstate 在 valgrind 下没有成功?

c++ - 关于3D模型加载的问题

memory-leaks - 如何正确删除版本 : Box2dWeb-2. 1.a.3、Box2D_v2.3.1r3 中的 box2d 主体? Box2D 错误?

java - DBCP Tomcat 连接池 removeAbandoned 不工作

java - 可能的内存泄漏?

c++ - 如何调试 armv5 上的堆损坏