我正在尝试对一种真实算法的两种不同实现进行典型的“A / B测试”方法,在两种情况下都使用相同的数据集。该算法在执行方面具有确定性,因此我真的希望结果是可重复的。
在Core 2 Duo上也是如此。仅使用linux“time”命令,我将获得大约0.1%的执行时间变化(超过10次运行)。
在i7上,我将获得各种各样的变化,并且我可以轻松地将其平均水平提高30%。我认为这是由于i7所做的各种CPU优化(动态超频等)引起的,但实际上很难进行这种测试。还有其他方法可以确定2种算法中的哪一种是“最佳”的,我可以使用任何其他明智的指标?
编辑:该算法不能维持很长时间,这实际上是我正在尝试进行基准测试的真实场景。因此,反复运行并不是真正的选择。
最佳答案
查看是否可以关闭BIOS中的动态超频。另外,进行基准测试时,请放弃所有可能运行的其他进程。