C++代码档案器

C++ Code Profiler

本文关键字:档案 代码 C++      更新时间:2023-10-16

有人能推荐一个好的C++代码分析器吗?

我遇到了Shiny——有什么好处吗?http://sourceforge.net/projects/shinyprofiler/

用于Unix/Linux 的Callgrind

Windows 的DevPartner

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

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

Gprof如果您使用gcc。它可能对用户不友好,但仍然有用。

您可能会对"英特尔VTune"感兴趣。非常有用,并允许收集低级别事件,如缓存未命中,这对调优有很大帮助。

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

取决于您需要做什么:

  1. 测量,这样您就可以进行回归测试,看看性能是否发生了变化
  2. 找出性能不理想的原因并进行优化

这些不一样。

对于1,请使用推荐的评测器之一。

对于2,我更喜欢您已经拥有的探查器:
http://www.wikihow.com/Optimize-Your-Program%27s-性能
要了解情况,请查看此。

对于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评测器将于2011年2月4日发布。我们已经更改了定价模型,因此如果您需要,您可以选择整个套件,也可以只选择性能分析器。请在新的DPS 10.5版本上线后查看!