当前位置:  开发笔记 > 编程语言 > 正文

你最喜欢的分析工具是什么(适用于C++)

如何解决《你最喜欢的分析工具是什么(适用于C++)》经验,为你挑选了7个好方法。

到目前为止,我只使用过Rational Quantify.我听说过有关英特尔VTune的好消息,但从未尝试过!

编辑:我主要是在寻找可以检测代码的软件,因为我猜这是获得非常好结果的唯一方法.


也可以看看:

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



1> Al...:

对于Linux开发(尽管其中一些工具可能适用于其他平台).这是我所知道的两个大牌,还有很多其他较小的名字在一段时间内没有看到积极的发展.

Valgrind的

TAU - 调整和分析实用程序


Valgrind太棒了.

2> Weidenrinde..:

对于Linux: Google Perftools

比valgrind更快(但不是那么精细)

不需要代码检测

漂亮的图形输出( - > kcachegrind)

进行内存分析,cpu-profiling,泄漏检查



3> Mike Dunlave..:

恕我直言,使用调试器进行采样是最好的方法.您只需要一个IDE或调试器,它可以让您暂停程序.在您安装Profiler之前,它会解决您的性能问题.


是! 这对我很有用.它不需要仪器.它不需要安装任何分析器等.在linux上,你可以使用gdb.程序全速运行.点击ctrl-c停止.输入'bt'来显示堆栈跟踪.然后'c'继续,然后再次ctrl-c.效果很好!在复杂的程序中,使用这种技术将执行时间缩短了20%.真棒!

4> Matt Dillard..:

我唯一的经验是使用AutomatedQA(现在的SmartBear软件)进行AQTime分析.它内置了几种类型的分析器(性能,内存,Windows句柄,异常跟踪,静态分析等),并使用代码来获取结果.

我很喜欢使用它 - 找到那些代码中的小变化可以显着提高性能的地方总是很有趣.



5> jsight..:

我过去曾经广泛使用过Glowcode,除了积极的体验之外别无他法.它的Visual Studio集成非常好,它是我曾经使用过的最有效/直观的分析器(甚至与托管代码的分析器相比).

显然,如果你没有在Windows上运行,那就没用了,但是这个问题让我不清楚你的要求是什么.



6> Dimitri C...:

Visual Studio 2008中的分析器非常好:快速,用户友好,清晰且集成在IDE中.


不仅仅是Team版本中的探查器吗?

7> Moberg..:

我以前从未做过剖析.昨天我编写了一个ProfilingTimer类,它带有一个静态时间表(map )用于时间存储.

构造函数存储起始刻度,析构函数计算经过的时间并将其添加到地图中:

ProfilingTimer::ProfilingTimer(std::string name)
 : mLocalName(name)
{
 sNestedName += mLocalName;
 sNestedName += " > ";

 if(sTimetable.find(sNestedName) == sTimetable.end())
  sTimetable[sNestedName] = 0;

 mStartTick = Platform::GetTimerTicks();
}

ProfilingTimer::~ProfilingTimer()
{
 long long totalTicks = Platform::GetTimerTicks() - mStartTick;

 sTimetable[sNestedName] += totalTicks;

 sNestedName.erase(sNestedName.length() - mLocalName.length() - 3);
}

在我要配置的每个函数(或{block})中,我需要添加:

ProfilingTimer _ProfilingTimer("identifier");

这条线在我想要描述的所有函数中添加有点麻烦,因为我必须猜测哪些函数需要花费很多时间.但它运作良好,打印功能以%表示消耗时间.

(是否有其他人使用任何类似的"自制分析"?或者它只是愚蠢?但它很有趣!有没有人有改进建议?

是否有某种自动添加线到所有功能?)

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有