What's the best free C++ profiler for Windows?我正在寻找一个探查器,以便在我的C ++代码中找到瓶颈。 我想找到一个免费的,非侵入式的,良好的性能分析工具。 我是游戏开发人员,我在Xbox360上使用PIX,发现它很好,但是它不是免费的。 我知道Intel VTune,但它也不免费。 CodeXL现在已经取代了End Of Line的AMD Code Analyst,两者都是免费的,但不如VTune先进。还有Sleepy,它很简单,但是在很多情况下都能完成任务。
Very Sleepy是Windows系统的C / C ++ CPU分析器(免费)。 Proffy非常酷:http://pauldoo.com/proffy/ 免责声明:我写了这个。 对于MS VC 7.1和更高版本,有一个称为MicroProfiler的检测(功能准确)分析器。您可以在此处(x64)或此处(x86)获得它。它不需要对代码进行任何修改或添加,并且能够与调用者和被调用者实时显示函数统计信息,而无需关闭应用程序/停止分析过程。 它与VisualStudio集成在一起,因此您可以轻松地为项目启用/禁用性能分析。也可以将其安装在干净的机器上,只需要将符号信息和正在分析的可执行文件一起放置即可。 当从"非常困倦"等采样分析器进行的统计近似还不够时,此工具很有用。 粗略的比较表明,它胜过了AQTime(在仪器功能级运行中调用它时)。以下程序(完全优化,禁用内联)与通过仅显示统计信息的AQTime相比,使用micro-profiler实时显示结果的运行速度快了三倍:
Microsoft具有Windows Performance Toolkit。 它确实需要WindowsVista,Windows Server 2008或Windows7。 新增功能是Shiny。 ?????? 我强烈建议Windows Performance Toolkit(WPT)或XPERF 命令行xperf命令行工具记录Windows事件跟踪(ETW)日志,可以使用GUI xperfview工具进行分析。 对于我的公司而言,使用stacktrace命令行争论已被证明是无价的工具,因为它可以分析并解决瓶颈问题。最引人注目的事情之一是WPT可以安装在任何环境中,甚至可以在古老的Windows XP上安装。 在Windows 8上,Windows Performance Analyzer使xperf达到了更高的水平。 ETW日志中提供的硬数字和统计信息是无与伦比的,但Visual Studio Profiler(2010/2012)除外,它也很棒,但不是免费的AFAIK。 如果您从未使用过xperf ...您将不知道自己缺少什么
我使用AQTime,它是我用过的最好的分析工具之一。 请尝试我的探查器cRunWatch。它只有两个文件,因此很容易与您的项目集成,并且需要精确地添加一行来编写一段代码。 Timing 需要Boost库。 我使用了Luke Stackwalker,它为Visual Studio项目完成了工作。 其他有趣的项目是:
您可以使用EmbeddedProfiler,它对于Linux和Windwos都是免费的。 探查器是侵入式的(按功能),但不需要任何代码修改。只需添加一个特定的编译器标志(对于gcc / MinGW为-finstrument-functios,对于MSVC为/ GH),然后链接分析器的库。它可以为您提供完整的调用树或仅提供功能列表。它具有自己的分析器GUI。 我使用的是VSPerfMon,它是StandAlone Visual Studio Profiler。我写了一个GUI工具来帮助我运行它并查看结果。 http://code.google.com/p/vsptree/ 我已经使用" TrueTime-Compuware DevPartner套件的一部分多年了。有一个[免费版本](您可以尝试Compuware DevPartner Performance Analysis社区版。)。 |