Курс 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. Ошибка NotImplemented в Python
  2. Строковое представление объектов
  3. Сравнение строк в Python
  4. Генерация резюме в Gensim
  5. Определение имен функций
  6. Возведение в квадрат с помощью itertools
  7. Работа с множествами в Python
  8. Хеширование паролей с солью
  9. Удаление falsy-значений из списка с помощью filter
  10. Работа со строками в Python.
  11. Экспорт данных с помощью writefile
  12. Метод __iand__ для пользовательских классов
  13. Работа с zip-архивами в Python
  14. Объединение кортежей в Python
  15. Реверс строки и списка в Python.
  16. Работа со слайсами
  17. Создание циклической ссылки
  18. Структура данных deque в Python
  19. Оператор continue в Python
  20. Метод pos в Python
  21. Копирование объектов в Python
  22. Метод repr() в Python
  23. Определение наиболее частого элемента с помощью collections.Counter
  24. Транспонирование 2D-массива с помощью zip
  25. Списковое включение в Python
  26. Форматирование вывода списков
  27. Участие в LP стейкинге Waves
  28. Оптимизация сравнения в Python
  29. Перетасовка списков в Python
  30. Возврат нескольких значений
  31. Цикл for с enumerate() в Python
  32. Логический оператор «and» в Python
  33. Атрибуты класса и экземпляра
  34. Библиотека itertools: объединение списков
  35. Декораторы в Python
  36. Определение объема памяти объекта
  37. Сортировка элементов в Python
  38. Управление пакетами с pip
  39. Печать календаря
  40. Аннотации типов в Python
  41. Лямбда-функции для min/max
  42. Перегрузка операторов в Python
  43. Генераторы в Python
  44. Метод get() для словарей
  45. Определение функций с необязательными аргументами
  46. Оператор is в Python
  47. Возврат нескольких значений
  48. Навыки Python: строки, типы данных

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