0

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

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

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

我是否必须将结果除以 1000 才能获得每个循环的实际秒数,还是它已经说明了这一点?

4

1 回答 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]
于 2014-05-29T20:54:47.977 回答