Как замерить время выполнения функции в Python?

Чтобы измерить время выполнения функции в 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
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
Познакомьтесь с основами Python бесплатно