timeit.timeit VS timeit.Timer.repeat - 最佳实践是什么?

问题描述 投票:0回答:1

我想优化一个函数“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 更合适吗?

提前致谢

python-3.x repeat timeit
1个回答
0
投票

timeit.timeit() 更适合测量单个语句或函数的执行时间,而 timeit.repeat() 更适合测量较大代码块的执行时间并提供更稳定的结果。

© www.soinside.com 2019 - 2024. All rights reserved.