Курс 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. Работа с типами данных в Python с помощью pydantic.
  2. Добавление Progressbar в Python
  3. Retrying в Python: повторные вызовы
  4. Условные выражения в Python
  5. Экранирование символов в Python
  6. Логирование с Loguru
  7. Метод ne для сравнения объектов
  8. Замена текста с re.sub()
  9. Функция enumerate() в Python
  10. История Python
  11. Форматирование строк в Python
  12. Настройка вывода NumPy
  13. Хранение данных с помощью dataclasses
  14. Работа с WindowsPath()
  15. Проверка окончания строки с помощью str.endswith()
  16. Преобразование строк в числа в Python
  17. Создание OrderedDict
  18. Использование модуля math
  19. Defaultdict в Python
  20. Перемешивание списка с shuffle()
  21. Асинхронное выполнение задач в процессах
  22. Метод join для наборов
  23. Модуль os: работа с файлами и папками
  24. Логирование с Logzero
  25. Метод __complex__ в Python
  26. Python Метод Union Множеств
  27. Автоматизация действий с Pyautogui
  28. Оператор += в Python
  29. Функция eval() в Python
  30. Использование defaultdict в Python
  31. Работа с itertools
  32. Ветвление выражения в Python
  33. Вывод с переменной через запятую
  34. Работа со словарями
  35. Модуль future Python
  36. Передача аргументов в Python
  37. Декораторы для регистрации функций
  38. Управление контекстом с помощью декоратора contextmanager
  39. Фильтрация списка от «ложных» значений
  40. Оптимизация поиска в словарях
  41. Создание объекта времени
  42. Установка виртуального окружения Python
  43. OrderedDict — упорядоченный словарь
  44. Метод remove() для удаления элемента из списка
  45. Переворот списка в Python
  46. Метод bool() в Python
  47. Оператор in для проверки наличия элемента
  48. Установка и использование Logzero
  49. Срезы в Python

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