我读到timeit模块返回的时间单位是秒。
但是,如果我有多次重复,例如
min(timeit.Timer('my_function(t)',
'from __main__ import my_function, t')
.repeat(repeat=50, number=1000)))
我必须将结果除以1000以获得每个循环的实际秒数,还是已经考虑到了?
答案 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]