我想优化一个函数“ myfunc() ”。我有几种写法,我想检查一下最快的代码。为此,我们可以使用“ timeit ”模块。但是有几种方法可以使用它。最明显,显然也是最常用的,是:
import timeit
timeit.Timer('myfunc()', "from __main__ import myfunc").timeit(100000)
Run Code Online (Sandbox Code Playgroud)
这类似于
timeit.timeit('myfunc()', "from __main__ import myfunc", number=100000)
Run Code Online (Sandbox Code Playgroud)
但是我们也可以使用这样的代码:
min(timeit.Timer('myfunc()', "from __main__ import myfunc").repeat(repeat=100000, number=1))*100000
Run Code Online (Sandbox Code Playgroud)
我期待最后一个是最准确的处理时间,但它似乎不是最常用的代码。
你能帮我确定什么时候使用timeit.timeit更好,什么时候重复更合适吗?
提前致谢