07 Июл 2023
2 мин
6813

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

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

Содержание

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

Модуль 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)

В приведенном примере timeit() выполняет код 100 раз и возвращает общее время выполнения. Затем это время делится на 100, чтобы получить среднее время выполнения.

Содержание

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

Узнай профессию по рисунку