我读到 timeit 模块返回的时间单位是秒。
但是,如果我有多次重复,例如
min(timeit.Timer('my_function(t)',
'from __main__ import my_function, t')
.repeat(repeat=50, number=1000)))
我是否必须将结果除以 1000 才能获得每个循环的实际秒数,还是它已经说明了这一点?
是的,这是返回的总时间。如果你真的想要循环每次迭代的时间,你必须除以 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]