我想优化一个函数“myfunc()”。我有几种写法,我想检查最快的代码。 为此,我们可以使用“timeit”模块。但有几种方法可以使用它。 最明显且显然最常用的是:
import timeit
timeit.Timer('myfunc()', "from __main__ import myfunc").timeit(100000)
类似于
timeit.timeit('myfunc()', "from __main__ import myfunc", number=100000)
但是我们也可以使用这样的代码:
min(timeit.Timer('myfunc()', "from __main__ import myfunc").repeat(repeat=100000, number=1))*100000
我原以为最后一个是最准确的处理时间,但它似乎不是最常用的代码。
您能帮我确定什么时候使用 timeit.timeit 更好,什么时候 repeat 更合适吗?
提前致谢
timeit.timeit() 更适合测量单个语句或函数的执行时间,而 timeit.repeat() 更适合测量较大代码块的执行时间并提供更稳定的结果。