Курс 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. Оператор объединения словарей
  2. Подписка на SelectelNews в Twitter
  3. Шаблоны и наследование в Flask
  4. Отслеживание выполнения программы с библиотекой tqdm
  5. Замена элементов в списке с помощью генераторов списков
  6. Создание словаря с значением по умолчанию
  7. Разделение строки с регулярными выражениями
  8. Гибкие функции Python
  9. Использование обратной косой черты в f-строках
  10. Измерение времени выполнения кода с использованием time
  11. Метод is_absolute() для PurePath
  12. Изменение регистра данных
  13. Область видимости переменных в Python
  14. Проверка списка: any() и all()
  15. Многострочные строки в Python
  16. UserString в Python
  17. Основы слова
  18. Сортировка с помощью key
  19. Идентификатор объекта в Python
  20. Представление бесконечности в Python
  21. Работа с IP-адресами в Python
  22. Отрицательные индексы списков
  23. Методы HTTP запросов в Flask
  24. Необязательные аргументы в Python
  25. Преобразование документов в PDF с помощью Spire.Office
  26. Работа с файлами в Python
  27. PATCH-запрос с библиотекой requests
  28. SciPy: широкий функционал для математических операций
  29. Работа с контекстными менеджерами
  30. Преобразование range в итератор
  31. Ускорение кода с помощью векторизации
  32. Классы данных в Python
  33. Создание именованных кортежей в Python
  34. Сравнение неупорядоченных списков
  35. Добавление вложенных списков
  36. TypedDict для kwargs в Python 3.12
  37. Синтаксис переменных цикла в Python
  38. Выражения-генераторы в Python
  39. Библиотека Chartify: руководство
  40. Разбиение строки в Python
  41. Многострочные комментарии в Python
  42. Метод gt в Python
  43. Работа с deque из collections
  44. Генераторы данных
  45. Структура данных deque в Python
  46. Фильтрация данных в Python.
  47. Создание пустых функций и классов в Python
  48. Библиотека itertools: объединение списков

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