C ++代码分析器

任何人都可以推荐一个好的C ++代码分析器

我遇到了shiny – 有什么好处? http://sourceforge.net/projects/shinyprofiler/

Solutions Collecting From Web of "C ++代码分析器"

Callgrind for Unix / Linux

Windows的DevPartner

不是C ++特有的,但是AMD的CodeAnalyst软件是免费的,功能齐全。

http://developer.amd.com/cpu/codeanalyst/codeanalystwindows/Pages/default.aspx

Gprof如果你使用gcc。 它可能不是用户友好的,但仍然有用。

可能你会对Intel VTune感兴趣。 相当有用,并允许收集低级别的事件,如缓存未命中,这有助于调优。

Quantify(IBM / Rational PurifyPlus包的一部分)是一个非常好的分析器,但并不便宜。 它也可以在几个平台上使用 – 我在Solaris,Windows和Linux上使用它。

取决于你需要做的事情:

  1. 衡量,所以你可以做回归测试,看看是否发生性能的变化。
  2. 找到性能不理想的原因并优化它们。

这些是不一样的。

对于1,使用推荐的分析器之一。

对于2,我更喜欢的分析器是你已经有的:
http://www.wikihow.com/Optimize-Your-Program%27s-Performance
要看看这是怎么回事,检查了这一点。

对于C ++来说,对于C#和鼓励抽象层的任何语言来说,从软件工程的角度来看,这些层可能是好的也可能不是好的,但是它们可能会导致性能下降。 每个方法调用都是程序执行的绕道,风格鼓励你把这些东西嵌套起来,有时候是不必要的。 此外,风格不鼓励你知道或关心他们内部发生的事情。 您可能会发现它们以一般的速度和级别在下面创建和删除对象,远远超出您的应用程序真正需要的。

AQtime (Windows版)

如果您正在运行VS 2010的高级版本,那么您将获得一个分析器。

我也使用了其他一些免费的,但他们没有比较的MS船上。 虽然有用的第二个意见。

如果您可以访问Mac,那么我建议使用CHUD工具中的Shark 。

您可以使用Linux或Solaris上的Sun Studio 12中的分析器。 免费。 http://developers.sun.com/sunstudio/index.jsp

如果您找不到DevPartner,那是因为我们已经在新的所有权下移动了。 请访问Micro Focus网站: http : //www.microfocus.com/products/micro-focus-developer/devpartner/index.aspx 。 无耻的插件:我在DevPartner团队工作。 我们期待已久的64位版本的BoundsChecker和C ++ /。NET profilers于2011年2月4日发布。我们已经改变了我们的定价模型,所以您可以选择整个套件或只是性能分析器,如果这是你所需要的。 请在新的DPS 10.5版本发布时查看!