Курс 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. Условное добавление элементов в список
  3. Лямбда-функции в Python
  4. Генераторы данных
  5. Утечки переменных цикла в Python 3.x
  6. Преобразование букв в нижний регистр
  7. Проблема сравнения словарей
  8. Работа со строками в Python.
  9. Итерация по итерируемым объектам
  10. Различия символов в Python
  11. Копирование объектов в Python
  12. Генерация чисел с range()
  13. Многострочные строки в Python
  14. Переопределение метода __and__
  15. Поиск элементов BeautifulSoup
  16. Измерение времени выполнения кода
  17. Изменение регистра данных
  18. Эффективная конкатенация строк с использованием join()
  19. Базовые объекты Python
  20. Чтение бинарного файла в Python.
  21. Добавление вложенных списков
  22. Обмен значений переменных в Python
  23. Управление пакетами с pip
  24. Функция count() в Python
  25. Работа с изменяемыми списками
  26. Magic Commands — улучшение работы с Python
  27. Форматирование заголовков в Python
  28. Установка и использование howdoi
  29. Работа с массивами в Numpy
  30. Работа с контекстными менеджерами
  31. Сортировка списка по индексам
  32. Автоматизация скриптов на AWS Lightsail.
  33. Работа со строками в Python
  34. Создание спинбокса в tkinter
  35. Работа с Telegram API на Python
  36. Генераторы в Python
  37. Функциональное программирование.
  38. Визуализация пропусков данных
  39. Установка и использование pyshorteners
  40. Генераторы и сеты в Python
  41. Метод remove() для удаления элемента из списка
  42. Преобразование вложенного списка
  43. Оценка точности модели
  44. Работа с рекламными данными в Pandas
  45. Измерение времени выполнения кода
  46. Подписка на @SelectelNews
  47. Получение размера объекта с sys.getsizeof()

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