为什么我在Profiler中运行的C ++运行时间不准确?

时间:2015-09-16 12:55:39

标签: c++ performance profiling gprof cpu-time

我正在尝试分析C ++应用程序。我尝试过gprof,HPCToolkit和ScoreP。我的问题是,对于不同的运行,我获得不同的运行时间,从一次执行到另一次执行(例如2.5秒和2.7秒)之间存在大约10%的差异。为什么?我记得当我在Cray系统上使用CrayPat时,不同的执行之间没有任何区别。 感谢

ps:我正在使用debian 8

1 个答案:

答案 0 :(得分:0)

Andrei Alexandrescu在一次演讲中提到,现代处理器你不应该期望在基准测试中具有可重复性。我认为你可以采取两件事来使事情更具可预测性。首先,运行你的基准测试足够长的时间(我会建议类似或接近一分钟)。还有一件事:确保关闭电源管理(如果你在操作系统和使用它的机器上)。