Python的timeit模块返回多个重复的时间单位是什么?

0 投票
1 回答
2972 浏览
提问于 2025-04-18 07:59

我看到说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]

撰写回答