Python的timeit模块返回多个重复的时间单位是什么?
我看到说timeit模块返回的时间单位是秒。
不过,如果我进行多次重复,比如说:
min(timeit.Timer('my_function(t)',
'from __main__ import my_function, t')
.repeat(repeat=50, number=1000)))
那么我需要把结果除以1000才能得到每次循环的实际秒数吗,还是说它已经考虑到这个了?
1 个回答
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]