timeit.timeit VS timeit.Timer.repeat - Какая лучшая практика? - PullRequest
1 голос
/ 07 мая 2019

Я хотел бы оптимизировать функцию ' 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 более уместно?

Заранее спасибо

...