Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 16030|Ответ: 0

[Чаевые] Несколько методов расчёта времени выполнения Python

[Скопировать ссылку]
Опубликовано 23.04.2018 15:54:36 | | | |
Прежде всего, давайте поговорим о подводных камнях, с которыми я столкнулся, проблемах в продакшене, я планирую выполнение python-скрипта и контролирую процесс, время выполнения python-скрипта значительно превышает время выполнения программы, которое я считаю в python-скрипте.
Время мониторинга выполнения скриптов на Python составляет 36 часов, а время самовыполнения в скриптах на Python — около 4 часов.
Первое, что приходит на ум после проблемы — это проблема с Linux, и я не обнаружил никаких отклонений в различных логах.
Потом я вспоминаю py2neo, используемый в Python для асинхронного записи данных, блокируя выполнение процесса.
Наконец, была обнаружена проблема: способ, которым скрипт на Python использует time.clock() для подсчёта времени выполнения процессора, а не времени выполнения программы.
Далее сравним несколько статистических данных по времени на Python:

Метод 1:

datetime.datetime.now() получает текущую дату, а после завершения выполнения программы временное значение, полученное этим методом, становится временем выполнения программы.

Метод 2:

time.time(), чтобы получить текущее время с эпохи (За секунды)。 Если системные часы их предоставляют, может быть доля секунды. Так что это место возвращает тип с плавающей запятой. Здесь также получается время выполнения программы.

Метод 3:

time.clock() возвращает время процессора с момента запуска или первого вызова программы. Это обладает такой же точностью, как и системная запись. Возврат также относится к типу с плавающей запятой. Здесь вы получаете время выполнения процессора.
Примечание: время выполнения программы = время процессора + время выхода + гибернация или ожидание

Вот как я проверяю время выполнения функции с помощью метода 2:







Предыдущий:Учебник по установке python 3.6.5 под Windows
Следующий:Эволюция архитектуры нейронных сетей: всесторонний обзор более чем десяти архитектур от LeNet5 до ENet
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com