Как замерить время выполнения функции в Python?
Ответы
Алёна Шереметьева
18 июня 2024
Чтобы измерить время выполнения функции в Python, можно использовать следующие методы:
- Модуль time. Предоставляет функцию
time.time()
, которая возвращает текущее время в секундах с момента «эпохи» (обычно 00:00 1 января 1970 года).
Пример данного модуля:
import time
start_time = time.time()
end_time = time.time()
elapsed_time = end_time - start_time
print(f"The task took {elapsed_time:.2f} seconds to complete.")
- Модуль 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=2)/2
print('Elapsed time: ', elapsed_time)
- Модуль
line_profiler
. Этот модуль предоставляет декоратор @profile, который можно использовать для профилирования кода и измерения выполнения каждой строки.
Важно помнить, что измерение времени выполнения может влиять на само выполнение программы, поэтому рекомендуется использовать эти методы только для профилирования и оптимизации кода, а не включать их в окончательную версию программы.
0
0
Elena Gromova
31 октября 2024
Для замера времени выполнения функции в Python можно воспользоваться модулем time. Для этого нужно выполнить следующие шаги:
Импортировать модуль time:
import time
Создать функцию, которую нужно замерить, например:
def my_function():
# код вашей функции
Добавить код для замера времени выполнения функции:
start_time = time.time() # запоминаем время начала выполнения функции
my_function() # вызываем функцию
end_time = time.time() # запоминаем время окончания выполнения функции
execution_time = end_time - start_time # вычисляем время выполнения функции
print(f"Время выполнения функции: {execution_time} секунд")
0
0