使用 gprof 和 boost

Posted

技术标签:

【中文标题】使用 gprof 和 boost【英文标题】:using gprof and boost 【发布时间】:2012-03-07 06:25:15 【问题描述】:

在使用 gprof 分析一些使用许多 boost 函数的代码时,有一个非常讨厌且难以遵循的输出,请参见下面的示例,有没有办法清理 gprof 以与 boost 或更友好的替代方案一起使用?从外观上看,boost::math::policy 的重复版本使分析输出变得混乱,从而难以查看或理解调用图

顺便说一句,这是一个例子的sn-p

boost::math::policies::policy<boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy> >(long double, long double, long double*, long double*, int, boost::math::policies::policy<boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy> const&)

【问题讨论】:

【参考方案1】:

我想你会更喜欢callgrind 而不是 gprof。它是valgrind 的一部分,因此您可能已经拥有它。您可以使用kcachegrind 以图形方式查看结果。

【讨论】:

valgrind 编译!现在换QT

以上是关于使用 gprof 和 boost的主要内容,如果未能解决你的问题,请参考以下文章

解释 gprof 结果和粒度

Gprof可以更详细吗?

如何使用带有“-fomp”和“-pg -fprofile-create”的 gcc/gprof 分析 c++?

Linux性能调优之gprof和oprofile

如何使用 cmake 设置 g++ 的标志,以便 gprof 可以解散?

关于gprof和gprof2dot生成的图的一些疑惑