Python:Рецепты/Простое профилирование программы: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
Строка 9: Строка 9:
Измерение периодов времени, в течение которых выполняются определенные фрагменты кода.
Измерение периодов времени, в течение которых выполняются определенные фрагменты кода.


{{Спойлер|Это простой способ профилирования, если вам нужна более информативная детализация, обратитесь к функции [[cProfile.run()]]}}
{{Примечание1|Это простой способ профилирования, если вам нужна более информативная детализация, обратитесь к функции [[cProfile.run()]]}}


==Решение==
==Решение==

Версия от 22:16, 12 марта 2023

Проверка/Оформление/Редактирование: Мякишев Е.А.


Простое профилирование программы

Задача

Измерение периодов времени, в течение которых выполняются определенные фрагменты кода.

Примечание

Это простой способ профилирования, если вам нужна более информативная детализация, обратитесь к функции cProfile.run()

Решение

Вызовите функцию time.time() в начале блока кода, время выполнения которого вы хотите измерить, а затем в конце этого блока, затем вычтите значение первой временной метки из значения второй, в результате получите длительность промежутка времени, прошедшего между двумя вызовами.

Пример

Измерим сколько займет времени вычисление произведения первых 100 000 чисел.

Код

import time
startTime = time.time()
# Вычисление произведения первых 100 000 чисел
product = 1
for i in range(1, 100000):
    product = product * i
endTime = time.time()
print('Длина результата: %s цифр.' % (len(str(product))))
print('Расчет занял %s секунд' % (endTime - startTime))

См.также

Внешние ссылки