Имеют ли таймеры Python возможность измерять несколько интервалов в одном и том же объекте таймера? У меня есть программа, которая зацикливает более тысячи объектов и выполняет несколько действий, например: загрузка, обработка, сохранение, анализ). Я хотел бы иметь возможность измерять совокупное время каждого отдельного шага, когда выполняется много раз, но в большем блоке кода, который делает другие вещи.
Есть ли способ запустить, а затем остановить (приостановить) таймеры, а затем перезапустить их, чтобы измерить еще немного времени? Что-то вроде следующего псевдокода?
import timeit
download_timer = <create a timer>
processing_timer = <create a timer>
for item_id in big_list_of_items:
download_timer.start()
slow_response = download_data(item_id)
download_timer.pause()
processing_timer.start()
munge_data(slow_response)
processing_timer.pause()
log.debug('Cumulative download time: {} sec'.format(download_timer.elapsed))
log.debug('Cumulative data processing time: {} sec'.format(processing_timer.elapsed))
В настоящее время я создаю новый таймер для каждого l oop, а затем мне нужно отслеживать время в нескольких переменных, к которым я добавляю каждое приращение. Просматривая документы, похоже, что это лучший вариант, если не считать создания собственного класса для этого, но я надеялся, что кто-то знает более простой способ.