Visual Studio - 在分析

时间:2016-04-05 21:51:58

标签: c++ visual-studio profiling

我一直在对我编写的物理应用程序进行一些分析,并且我注意到当我对其进行分析时,它运行得更快,也许比没有分析器更平滑。请注意,我没有在调试配置中运行程序,也没有附加调试器。

我测量了差异,我发现程序在分析器下运行速度快〜50%。我不认为这是重复的,因为另一个问题并不清楚他/她是否在附加调试器的情况下运行它,并且最佳答案假定是这种情况(并且20x加速强烈表明它将是正确的在大多数情况下回答)。

另一个答案暗示了一个“海森堡”的错误,但这是一种笼统的假设(我仍然会调查这条线)。

Visual Studio是否可能会阻止其他应用程序干扰我的应用程序的计算或内存资源(为了获得“更公平”的结果)?

2 个答案:

答案 0 :(得分:2)

Visual Studio" CPU使用率" profiler似乎忽略了笔记本电脑的电源使用设置,因此如果您在试图节省电池电量的笔记本电脑上运行应用程序,它将比在其上运行探查器时运行速度慢。

当我下班回家时,我发现了这一点 - 我注意到速度差异消失了。在预感中,我拔掉了我的笔记本电脑并多次尝试了测试。速度差异返回。更重要的是,在分析器下,应用程序以大约相同的速度运行。

我无法找到任何相关资料,但如果有人能找到,我会很乐意编辑它们。

答案 1 :(得分:0)

如果在代码中使用线程,则可能是由于Windows中的系统计时器解析引起的。

默认Windows计时器分辨率为15.6ms

运行探查器时,该时间减少为1毫秒,并且程序运行速度很快。 检出此answer