Программа 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 выбран в стандартной библиотеке как наиболее подходящий для измерения коротких интервалов на текущей платформе.