为什么python的timeit使用'best of of 3'来衡量经过的时间?

时间:2015-12-28 19:46:47

标签: python benchmarking microbenchmark timeit

我没有看到python的timeit模块使用best of 3测量时间的原因。以下是我的控制台中的示例:

~ python -m timeit 'sum(range(10000))'
10000 loops, best of 3: 119 usec per loop

直观地说,我会将整个时间放在一起,然后除以循环次数。在所有循环中获得最佳3的直觉是什么?这似乎有点不公平。

1 个答案:

答案 0 :(得分:7)

the documentation中所述:

  

default_timer()测量可能受到在同一台机器上运行的其他程序的影响,因此在需要精确计时时最好的做法是重复几次计时并使用最佳时间。 -r选项对此有利;在大多数情况下,默认的3次重复可能就足够了。