Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг
07 Июл 2023
2 мин
8255

Измерение времени выполнения кода в Python

Возникает задача измерить время, которое занимает выполнение определенного участка кода или функции в Python. Например, есть функция, которая выполняет

Возникает задача измерить время, которое занимает выполнение определенного участка кода или функции в 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, чтобы получить среднее время выполнения.

Добавить комментарий