Python的timeit模块为多次重复返回的时间单位是多少?

时间:2014-05-29 20:53:33

标签: python timeit

我读到timeit模块返回的时间单位是秒。

但是,如果我有多次重复,例如

min(timeit.Timer('my_function(t)', 
                      'from __main__ import my_function, t')
                              .repeat(repeat=50, number=1000)))

我必须将结果除以1000以获得每个循环的实际秒数,还是已经考虑到了?

1 个答案:

答案 0 :(得分:4)

是的,这是返回的总时间。如果你真的想要在循环的每次迭代中有时间,你必须除以1000。一个简单的测试可以很容易地向您展示:

>>> timeit.timeit("import time; time.sleep(1)", number=1)
1.0000581741333008
>>> timeit.timeit("import time; time.sleep(1)", number=5)
5.000285863876343
>>> timeit.repeat("import time; time.sleep(1)", number=5, repeat=3)
[5.000285863876343, 5.003287076950073, 5.000286102294922]