Рубрики
Без рубрики

Как много времени с небольшими кусочками Python Code с TimeIt

Получите практические, реальные навыки Python на наших ресурсах и пути

Автор оригинала: Mike Driscoll.

Иногда, когда вы кодируете, вы хотите знать, как долго требуется для запуска конкретной функции. Эта тема известна как профилирование или настройка производительности. У Python есть пара профилировщиков, встроенных в его стандартную библиотеку, но для небольших кусочков кода, легче просто использовать Python’s Время течения модуль. Таким образом, Время течения будет в центре внимания этого урока. Время течения Модуль использует специальный метод платформа для получения наиболее точного времени выполнения. В основном, Время течения Модуль выполнит настройку один раз, запустите код n количество раз и возвращает время, которое потребовалось для запуска. Обычно он выводит «лучший из 3». Как ни странно, количество по умолчанию, которое он запускает код для 1000 000 петель. Время течения Имеет время со временем. Временно () на Linux/Mac и Time.clock () на Windows, чтобы получить самые точные показания, что это не то, что большинство людей не думают.

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

Время течения в консоли

Использование модуля Timeit в командной строке довольно просто. Вот пара примеров:

Что тут происходит? Что ж, когда вы называете Python в командной строке и пропустите опцию «-M», вы говорите об этом, чтобы посмотреть модуль и использовать его в качестве основной программы. «-S» рассказывает Время течения Модуль для запуска установки один раз. Затем он запускает код для N количество циклов 3 раза 3 раза и возвращает наилучшее среднее значение из 3 прогонов. Для этих глупых примеров вы не увидите большую разницу. Давайте посмотрим на Timeit’s Помогите, чтобы мы могли узнать больше о том, как это работает:

Это говорит использовать все чудесные флаги, которые мы можем пройти Время течения а также то, что они делают. Это также рассказывает нам немного о том, как Время течения Работает под крышками. Давайте напишем глупое функцию и посмотрим, сможем ли мы время от командной строки:

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

Здесь импортируйте функцию, а затем называть ее. Обратите внимание, что мы разделяем импорт и функцию вызова функции с полутоками, а код Python в кавычках. Теперь мы готовы узнать, как использовать Время течения внутри фактического сценария Python.

Импорт времени тестирования

Использование модуля Timeit внутри вашего кода также довольно легко. Мы будем использовать один и тот же глупый скрипт до и показать вам, как ниже:

Здесь мы проверяем, работает ли сценарий напрямую (то есть не импортирован). Если это так, то мы импортируем Время течения Создайте строку настройки для импорта функции в Timeit’s пространство имен, а затем мы называем TimeIt.Timeit Отказ Вы отметите, что мы передаем вызов функции в кавычках, а затем строку установки. И это действительно все, что есть к этому!

Упаковка

Теперь вы знаете, как использовать Время течения модуль. Это действительно хорошо на синхронизации простых кусков кода. Вы обычно используете его для кода, который вы подозреваете, является неиспользочным количеством времени для запуска. Если вы хотите больше гранулированных деталей о том, что происходит в вашем коде, вы хотите переключиться на профилировщик. Весело и счастливое кодирование!