Windows上最好的免费C ++ Profiler是什么?

Windows上最好的免费C ++ Profiler是什么?

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分析器(免费)。
CppCheck是Windows系统的静态C / C ++ CPU分析器(免费)。


Proffy非常酷:http://pauldoo.com/proffy/

免责声明:我写了这个。


对于MS VC 7.1和更高版本,有一个称为MicroProfiler的检测(功能准确)分析器。您可以在此处(x64)或此处(x86)获得它。它不需要对代码进行任何修改或添加,并且能够与调用者和被调用者实时显示函数统计信息,而无需关闭应用程序/停止分析过程。

它与VisualStudio集成在一起,因此您可以轻松地为项目启用/禁用性能分析。也可以将其安装在干净的机器上,只需要将符号信息和正在分析的可执行文件一起放置即可。

当从"非常困倦"等采样分析器进行的统计近似还不够时,此工具很有用。

粗略的比较表明,它胜过了AQTime(在仪器功能级运行中调用它时)。以下程序(完全优化,禁用内联)与通过仅显示统计信息的AQTime相比,使用micro-profiler实时显示结果的运行速度快了三倍:

1
2
3
4
5
6
7
8
9
10
11
12
void f()
{
    srand(time(0));

    vector<double> v(300000);

    generate_n(v.begin(), v.size(), &random);
    sort(v.begin(), v.end());
    sort(v.rbegin(), v.rend());
    sort(v.begin(), v.end());
    sort(v.rbegin(), v.rend());
}

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,它是我用过的最好的分析工具之一。
它不是免费的,但是您可以获得30天的试用期,因此,如果您计划仅优化和分析一个项目,并且30天就足够了,那么我建议您使用此应用程序。 (http://www.automatedqa.com/downloads/aqtime/index.asp)


请尝试我的探查器cRunWatch。它只有两个文件,因此很容易与您的项目集成,并且需要精确地添加一行来编写一段代码。

Timing

需要Boost库。


我使用了Luke Stackwalker,它为Visual Studio项目完成了工作。

其他有趣的项目是:

  • 亵渎
  • Dyninst

您可以使用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社区版。)。


推荐阅读

    主流电脑cpu性能分析|cpu性能对比表

    主流电脑cpu性能分析|cpu性能对比表,,1. cpu性能对比表一、参数对比1、r7 5800H:制程工艺为7nm,主频3.2GHz,睿频4.4GHz,线程数是8核16线程,45W

    centos启动卡住探查方法

    centos启动卡住探查方法,资源,桌面,玩docker时,不知道时docker build时的资源与系统冲突了还是怎么的,导致centos7开机后一直停留在[OK] Sta

    电脑瓶颈硬盘|电脑最大的瓶颈是硬盘

    电脑瓶颈硬盘|电脑最大的瓶颈是硬盘,,1. 电脑最大的瓶颈是硬盘固态硬盘更好,区别如下:1、性能方面固态硬盘和机械硬盘的构造是完全不同的。

    苹果a15处理器参数-性能分析

    苹果a15处理器参数-性能分析,处理器,5G,性能,芯片,参数,提升,苹果a15处理器是苹果官方最新推出的一款处理器,这是A14处理器的迭代版本,可以为用户

    电脑配置瓶颈测试(电脑性能瓶颈)

    电脑配置瓶颈测试(电脑性能瓶颈),1. 电脑性能瓶颈1、用户侧网络问题:解决方法:建议用户尽可能使用带宽高的WIFI网络2、终端配置太低:解决方

    苹果a15处理器参数-性能分析

    手机问题,a15,处理器,芯片,参数,性能,5G,苹果a15处理器是苹果官方最新推出的一款处理器,这是A14处理器的迭代版本,可以为用户提供比A14处理