Курс Python → Измерение времени выполнения кода с помощью time

В процессе разработки программного обеспечения, особенно при оптимизации и отладке, часто возникает необходимость измерять время выполнения определённых блоков кода. Это позволяет понять, насколько эффективно работает ваш алгоритм, и выявить узкие места, требующие улучшения. В Python для этой цели можно воспользоваться встроенным модулем time, который предоставляет простые и удобные способы измерения времени выполнения.

Одним из самых простых методов является использование функции time.time(). Эта функция возвращает текущее время в секундах с плавающей точкой, начиная с 1 января 1970 года (так называемая «эпоха Unix»). Чтобы измерить время выполнения блока кода, достаточно зафиксировать текущее время перед его началом и затем снова зафиксировать время после завершения выполнения. Разница между этими двумя значениями и будет временем, затраченным на выполнение кода.

Пример использования данного метода может выглядеть следующим образом:

import time

# Записываем текущее время перед выполнением блока кода
start_time = time.time()

# Ваш код, время выполнения которого вы хотите измерить
for i in range(1000000):
    pass  # Здесь может быть любой ваш код

# Записываем текущее время после выполнения блока кода
end_time = time.time()

# Вычисляем время выполнения
execution_time = end_time - start_time
print(f"Время выполнения кода: {execution_time} секунд")

В приведённом примере мы измеряем время выполнения цикла, который выполняется миллион раз. После завершения цикла мы вычисляем разницу между end_time и start_time, чтобы получить время выполнения. Этот подход очень удобен для быстрой оценки производительности кода при отладке и профилировании.

Таким образом, использование функции time.time() позволяет легко и быстро замерять время выполнения различных участков кода. Это особенно полезно, когда вы хотите понять, какие части вашего приложения требуют оптимизации, или когда вы работаете с алгоритмами, где время выполнения имеет критическое значение. Не забывайте, что для более сложных сценариев можно использовать и другие инструменты, такие как модуль timeit, который предоставляет более точные измерения, учитывающие разные факторы, влияющие на производительность.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Создание и использование ChainMap
  2. Избегайте ошибку FileNotFoundError
  3. Сравнение объектов в Python
  4. Ускорение обработки данных с %autoawait
  5. Генераторы словарей и множеств
  6. Генератор списка в Python
  7. Измерение времени выполнения кода
  8. Изменение элемента списка
  9. Объединение словарей в Python 3.5+
  10. Форматирование заголовков в Python
  11. Частичное совпадение пользовательского ввода в Python 3.10
  12. Перевернуть список в Python
  13. Приближение чисел в Python
  14. Проверка файла .py на синтаксис.
  15. Работа с часовыми поясами в Python.
  16. Python reversed() функция
  17. Инверсия списка/строки в Python
  18. Поиск индексов подстроки
  19. Идентификатор объекта в Python
  20. Python и Юникод: работа с цифрами
  21. PEP-401: оператор
  22. Функция format() в Python
  23. Удаление дубликатов в pandas
  24. Структура данных deque в Python
  25. Реверс строки и списка в Python.
  26. Оптимизация сравнения в Python
  27. Построение графиков в Matplotlib
  28. Работа со словарями в Python
  29. Получение имени функции с помощью inspect
  30. Комплексные числа в Python
  31. Обработка элементов в Python
  32. Кортежи в Python: особенности и преимущества
  33. Метод count() для списков
  34. Профилирование с Pandas
  35. Генераторы в Python
  36. Атрибуты класса и экземпляра
  37. Работа с кортежами в Python
  38. Модуль xkcd: добавление юмора в Python
  39. Дизассемблирование Python кода
  40. Метод get() в Python
  41. Работа с атрибутом dict
  42. Проверка памяти объекта
  43. Конкатенация строк в Python
  44. Множества и frozenset
  45. Модуль itertools: комбинации и перестановки
  46. Работа с буфером обмена на Python
  47. Генераторы в Python
  48. Установка Python3.7 и PIP
  49. Переменная с нижним подчеркиванием

Marketello читают маркетологи из крутых компаний