什么是非常简单的C ++分析器(VC ++)?

我过去曾经使用过一些分析器,但从未发现它们特别容易。也许我选了坏的,也许我真的不知道自己在期待什么!但是我想知道是否有任何“标准”分析器可以简单地投入使用并起作用?我不认为我需要大量详细的报告,仅是为了发现主要的黑点。在这一点上,易于使用对我来说更重要。

我们正在使用的是VC ++ 2008(我个人运行标准版)。我不认为IDE中有用于此目的的任何工具,通过查看主菜单看不到任何工具吗?


交互式爱情
浏览 363回答 3
3回答

FFIVE

内置VS:如果您具有团队版,则可以使用Visual Studio分析器。其他选项:否则检查此线程。轻松创建自己的:我个人使用基于Win32 API QueryPerformanceCounter的内部构建的。您可以在一百行或更少的代码范围内制作出易于使用的好东西。该过程很简单:在要配置的每个函数的顶部创建一个名为PROFILE_FUNC()的宏,该宏将添加到内部管理的统计信息中。然后有另一个名为PROFILE_DUMP()的宏,它将把输出转储到文本文档中。PROFILE_FUNC()创建一个将使用RAII记录直到销毁该对象为止的时间的对象。此RAII对象的构造函数和析构函数都将调用QueryPerformanceCounter。您也可以将这些行留在代码中,并通过#define PROFILING_ON

喵喵时光机

我建议一种非常简单的方法(通过阅读Mike Dunlavey关于SO的文章中学到了):只是暂停程序。进行几次以获得合理的样本。如果某个特定功能占用了程序执行时间的一半,则很有可能会很快将其赶上行动。如果将该功能的性能提高50%,那么您只需将整体执行时间缩短25%。而且,如果您发现甚至根本不需要它(我在使用这种方法的短时间内就发现了几种此类情况),那么您只需将执行时间减少一半。我必须承认,起初我对这种方法的有效性持相当怀疑的态度,但是在尝试了几周之后,我迷上了。

当年话下

我一直使用AMD CodeAnalyst,我发现它非常易于使用并且给出了有趣的结果。我一直使用基于时间的配置文件,在该配置文件中,我发现它与我的应用程序的调试信息配合得很好,让我找到了在过程,C ++指令和单个汇编指令级别花费的时间。
打开App,查看更多内容
随时随地看视频慕课网APP