Возникает задача измерить время, которое занимает выполнение определенного участка кода или функции в Python. Например, есть функция, которая выполняет сложные вычисления, и нужно выяснить, сколько времени она занимает.
Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.
Модуль time
Одним из способов измерения времени выполнения кода в Python является использование модуля time
. Этот модуль предоставляет функцию time()
, которая возвращает текущее время в секундах с момента, который называется «эпохой». Обычно это 00:00 1 января 1970 года.
import time # начальное время start_time = time.time() # код, время выполнения которого нужно измерить for i in range(0, 1000000): pass # конечное время end_time = time.time() # разница между конечным и начальным временем elapsed_time = end_time - start_time print('Elapsed time: ', elapsed_time)
Модуль timeit
Другим способом является использование модуля timeit
. Этот модуль предоставляет более точный способ измерения времени выполнения кода, поскольку он автоматически учитывает время, которое занимает вызов функции time()
и другие факторы. Вместо этого timeit
многократно выполняет код и возвращает среднее время выполнения.
import timeit # код, время выполнения которого нужно измерить code_to_test = """ a = range(1000000) b = [] for i in a: b.append(i*2) """ # вычисление времени выполнения кода elapsed_time = timeit.timeit(code_to_test, number=100)/100 print('Elapsed time: ', elapsed_time)
Изучайте Python на онлайн-курсе от Skypro «Python-разработчик». Программа рассчитана на новичков без опыта программирования и технического образования. Курс проходит в формате записанных коротких видеолекций. Будет много проверочных заданий и мастер-классов. В конце каждой недели — живая встреча с экспертами в разработке для ответов на вопросы и разбора домашек.
В приведенном примере timeit()
выполняет код 100 раз и возвращает общее время выполнения. Затем это время делится на 100, чтобы получить среднее время выполнения.
Добавить комментарий