Windows上的本机C ++有哪些优秀的分析器?

时间:2008-09-30 15:29:49

标签: c++ windows performance profiling

我正在寻找一个用于本机C ++的分析器。它当然不一定是免费的,但成本会影响购买决策。这是为了商业工作,所以我不能使用个人或学术许可副本。

我正在寻找的主要功能是:

  • 流程级指标
  • 组件级指标
  • 行级指标
  • 支持多线程代码
  • 可用性
  • 费用
  • 需要Visual Studio 2005 Professional支持(VS 2008 Professional支持率高 期望的)

我使用过英特尔的VTune和Compuware的Devpartner Performance Analysis社区版。

VTune似乎非常强大,但它有一个陡峭的学习曲线。它也非常“模块化”,所以你必须弄清楚你需要购买哪些部件。

DevPartner PACE非常易于使用,并提供所有关键功能,但它只进行了45天的试用。许可版本(Visual C ++ BoundsChecker Suite的DevPartner)大约1400美元一个座位,这是可行但有点高的imo。

原生C ++和为什么

有哪些优秀的个人资料?

另见:

What's Your Favorite Profiling Tool For C++

8 个答案:

答案 0 :(得分:9)

在Windows上,GlowCode价格实惠,使用方便,并提供免费试用,以便您查看它是否适合您。

答案 1 :(得分:4)

许多人都不知道,但MSFT正在取得巨大进步,为devlopers免费提供最好的工具来改善性能:-)。它们向我们所有人展示了Windows跟踪的内部结构:ETW。

perftools

它是服务器2008和Vista的新Windows SDK的一部分。如果您的目标(无论语言如何)是Windows的性能分析和性能分析,那么必须下载并且必须下载。

在决定下载之前,请查看此处的文档:

msdn doc

答案 2 :(得分:3)

试用Intel Parallel Studio。目前,它处于测试阶段,但英特尔这个名称都说明了这一点。

http://www.intel.com/go/parallel

答案 3 :(得分:2)

刚刚在SourceForge上发现了Luke StackWalker(http://lukestackwalker.sourceforge.net/)。 不幸的是它没有'专注于子树',但它仍然使用方便,使用符号服务器(我建议你立即设置它,如果你还没有),提供图形可视化,...

缺点是它没有显示子函数的累计时间(样本)。

另一种选择是“非常困”(http://www.codersnotes.com/sleepy)。它可以显示孩子们的累积时间,但遗憾的是它不使用符号服务器。

答案 4 :(得分:2)

CodeXL也值得关注,它可以在Linux和Windows上运行,虽然它主要用于OpenGL / OpenCL调试和分析,但在分析部分有一个基于时间的CPU选项可能有用。它也是免费的,只要pdb文件可用就可以工作(在Windows上,我不知道它在Linux上是如何工作的)(即使是使用pdb的发布版本)。

答案 5 :(得分:1)

绝对是Visual Studio团队系统。到目前为止。

答案 6 :(得分:1)

我刚刚完成了CxxProf的第一个可用版本,这是一个用于C ++的便携式手动检测分析库。

它符合您的要求:

  • 配置文件多线程应用程序
  • 支持在整个同一网络中分析多个流程
  • 它的编写具有最佳的可用性和最简单的集成
  • 啤酒免费,言论自由
  • 它适用于VS05,08,10,12和13.以及Linux上的g ++。它目前已通过VS 2013 Express进行测试。

有关详细信息,请参阅project wiki

免责声明:我是CxxProf的主要开发者

答案 7 :(得分:1)

我写了一个开源的轻量级win32 / 64分析器,支持CPU和内存分析, 它与VS profiler类似,但具有CPU和火焰图等独特功能 记忆数据。它在这里:dprofiler