Программа Python для измерения времени выполнения
В этом примере покажем, как замерить, сколько времени занимает выполнение фрагмента кода.
Что нужно знать
Пример 1. Через модуль time
import time
# Сохраняем метку времени
start = time.time()
print(23*2.3)
# Сохраняем метку времени
end = time.time()
print(end - start)
Вывод
52.9
3.600120544433594e-05
Чтобы посчитать длительность выполнения, можно использовать модуль time:
сохранить метку времени
startдо выполнения кода;сохранить метку времени
endпосле выполнения;разность
end - startи есть время работы.
Конкретное значение зависит от системы.
Примечание
time.time() возвращает текущее время в секундах с начала эпохи (с дробной частью).
Пример 2. Через модуль timeit
from timeit import default_timer as timer
start = timer()
print(23*2.3)
end = timer()
print(end - start)
Вывод
52.9
6.355400000000039e-05
По аналогии с первым примером используем функцию timer() из модуля timeit. Этот вариант обычно даёт более точные результаты.
Примечание
timer() тоже возвращает текущее время в секундах.
Как это работает
Оба способа основаны на одном и том же приёме: фиксируем метку времени до и после нужного блока, а затем вычитаем. Разница между time.time() и timeit.default_timer() — в источнике и разрешении таймера: default_timer выбран в стандартной библиотеке как наиболее подходящий для измерения коротких интервалов на текущей платформе.