Python

Модуль Python timeit

Модуль Python timeit

Программирование - это не только выполнение задачи и получение результата, который мы намеревались получить. Это также касается того, насколько быстро программа запускается и выполняется, чтобы достичь желаемого результата. С большинством языков программирования непросто сравнить, насколько быстро работает программа, и никогда не бывает легко определить время для конкретного фрагмента кода, чтобы понять, какая часть нашего кода занимает больше всего времени для выполнения. Это проблема, которую решает Python время модуль.

Модуль Python timeit

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

timeit простой пример

Мы начнем с использования модуля timeit непосредственно из командной строки. Модуль timeit можно использовать непосредственно из интерфейса командной строки, где мы можем ввести простой оператор цикла и рассчитать его время, используя показанную команду:

$ python --version
$ python -m timeit '"&".join (str (n) для n в диапазоне (1000)) '
$ python -m timeit '"&".join ([str (n) для n в диапазоне (1000)]) '
$ python -m timeit '"&".присоединиться (карта (str, диапазон (1000))) '

Вот что мы получаем с помощью этой команды:

Время выполнения из CLI с использованием timeit

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

Выбор времени для фрагмента кода

Если у вас есть базовый скрипт Python, для которого вы хотите измерить время, модуль timeit - это то, что вам нужно:

время импорта
# установочный код выполняется только один раз
setup_code = "из математического импорта sqrt"
# основной фрагмент кода для проверки производительности
code_to_measure = "'
def example ():
mylist = []
для x в диапазоне (100):
мой список.добавить (sqrt (x))
'"
# timeit заявление
печать (время.timeit (настройка = код_установки,
stmt = code_to_measure,
число = 10000))

Посмотрим, что выводит эта команда:

Время цикла

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

Измерьте время для многострочного кода из CLI

Мы также можем измерить время для кода, который занимает несколько строк в Python CLI. Давайте посмотрим на пример программы, чтобы убедиться в этом:

$ python -m timeit -s \
> "linuxhint = " \
> "для n в диапазоне (1000):" \
> "linuxhint [str (n)] = n"

Вот что мы получаем с помощью этой команды:

Синхронизация многострочного кода в CLI

Как правило, сравнивая два блока кода

Если вы не хотите беспокоиться об использовании интерфейса командной строки и просто хотите сравнить две программы Python, чтобы знать, какая из них работает быстрее, есть довольно простой способ добиться этого:

время импорта
start = timeit.default_timer ()
funcOne ()
печать (время.default_timer () - начало)
start = timeit.default_timer ()
funcTwo ()
печать (время.default_timer () - начало)

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

Заключение

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

Как показать счетчик FPS в играх для Linux
Игры для Linux получили серьезный толчок, когда Valve объявила о поддержке Linux для клиента Steam и своих игр в 2012 году. С тех пор многие игры AAA ...
Как загрузить и играть в Sid Meier's Civilization VI в Linux
Введение в игру Civilization 6 - это современный подход к классической концепции, представленной в серии игр Age of Empires. Идея была довольно просто...
Как установить Doom и играть в него в Linux
Введение в Doom Серия Doom возникла в 90-х годах после выхода оригинальной Doom. Это мгновенно стал хитом, и с тех пор серия игр получила множество на...