Mr.*_*Boy 14 c++ profiling visual-c++
我过去曾经使用过一些分析器,但从未发现它们特别容易.也许我挑选了不好的,也许我真的不知道我在期待什么!但是我想知道是否有任何"标准"分析器只是简单地投入使用?我不相信我需要大量详细的报告,只是为了获取主要的黑点.在这一点上,易用性对我来说更重要.
这是我们正在使用的VC++ 2008(我亲自运行标准版).我不认为IDE中有任何工具,看不到主菜单我看不到任何工具?
Mic*_*ers 24
我建议一个非常简单的方法(我从阅读Mike Dunlavey关于SO的帖子中学到的):
只是暂停程序.
做几次以获得合理的样本.如果一个特定的函数占用了程序执行时间的一半,那么很有可能你很快就会抓住它.
如果您将该功能的性能提高50%,那么您只需将总体执行时间提高25%.如果你发现它根本不需要它(我在短时间内发现了几个这样的情况,我一直在使用这种方法),你只需将执行时间缩短一半.
我必须承认,起初我对这种方法的功效持怀疑态度,但在尝试了几周之后,我就迷上了.
Bri*_*ndy 12
VS内置:
如果您有团队版,则可以使用Visual Studio分析器.
其他选择:
轻松创建自己的:
我个人使用基于Win32 API QueryPerformanceCounter的内部构建的.您可以在一百行或更少的代码中创建一些不错且易于使用的东西.
这个过程很简单:在每个要分析的函数顶部创建一个名为PROFILE_FUNC()的宏,它将添加到内部管理的统计信息中.然后有另一个名为PROFILE_DUMP()的宏,它将输出转储到文本文档.
PROFILE_FUNC()创建一个对象,该对象将使用RAII记录对象被销毁之前的时间量.这个RAII对象的构造函数和析构函数都将调用QueryPerformanceCounter.您也可以将这些行留在代码中并通过a控制行为#define PROFILING_ON
| 归档时间: |
|
| 查看次数: |
26045 次 |
| 最近记录: |