>>> import timeit
>>>
>>> def f(a, b):
... return a + b
...
>>> timer = timeit.Timer('f(1, 2)', 'from __main__ import f')
>>>
>>> timer.timeit()
0.12781486700032474
>>>
>>> timer.repeat(3)
[0.12270890699983283, 0.1221747099998538, 0.1221186780003336]
>>>
Можно и так замерять, но не рекомендуется из-за дополнительной функции lambda
>>> import timeit
>>>
>>> def f(a, b):
... return a + b
...
>>> timer = timeit.Timer(lambda: f(1, 2))
>>> timer.timeit()
0.20642959999986488
>>>
>>> timer.repeat(3)
[0.20294039899999916, 0.2028366700001243, 0.20304800399981104]
>>>
В общее время добавляется время выполнения дополнительной функции lambda. Но это может пригодиться, если надо по-быстрому сравнить результаты выполнения разных функций и узнать, какая из них быстрее работает.
tags: timeit