Курс 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
  2. Библиотека Emoji: использование смайлов в Python
  3. Big O оптимизация
  4. Разделение функций на этапы
  5. Хеши в Python
  6. Оптимизация гиперпараметров с Scikit Optimize
  7. Получение атрибутов и методов класса
  8. Progress с библиотекой tqdm
  9. Сумма элементов списка
  10. Numpy: разбиение массивов
  11. Python reversed() функция
  12. Конвертация изображений в PDF
  13. Метод __ilshift__ для битового сдвига влево
  14. Парсинг статей с Newspaper3k
  15. Проверка кортежей.
  16. Работа с YAML в Python: PyYAML.
  17. Многопроцессорное программирование в Python
  18. Основные операции с библиотекой Numpy
  19. Создание namedtuple списком полей
  20. ChainMap избыточные ключи
  21. Динамическая типизация в Python
  22. Загрузка постов Instagram
  23. Логирование с Loguru
  24. Метод pos в Python
  25. Экранирование символов в Python
  26. Простой калькулятор Python
  27. Извлечение новостей с newspaper3k
  28. Классы данных в Python
  29. Python: динамическая типизация и проверка типов
  30. Тип данных TypeVarTuple
  31. Метод join() для объединения строк
  32. Генераторы в Python
  33. Форматирование кода на Python
  34. Вывод сложных структур данных с помощью pprint
  35. Преобразование данных в Python
  36. Работа с рекламными данными в Pandas
  37. Метод index() в Python
  38. Манипуляция формой массива в Numpy
  39. Математические функции в Python
  40. Сравнение def и lambda в Python
  41. Регистрация на курсы SF Education
  42. Работа с итераторами через срезы
  43. Фильтрация входных данных в Python
  44. Работа с очередями в Python
  45. Работа с argparse
  46. Получение обратного списка чисел
  47. Лямбда-функции в defaultdict
  48. Python: отсутствие точек с запятыми

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