Python Timeit() с примерами
Что такое Python Timeit()?
Python timeit() — это метод в библиотеке Python для измерения времени выполнения данного фрагмента кода. Библиотека Python запускает оператор кода 1 миллион раз и обеспечивает минимальное время, требуемое для данного набора фрагментов кода. Python timeit() — это полезный метод, помогающий проверить производительность кода.
Синтаксис:
timeit.timeit(stmt, setup,timer, number)
Параметры
- стмт :Это возьмет код, для которого вы хотите измерить время выполнения. Значение по умолчанию — «пройти».
- настройка :это будет иметь детали настройки, которые необходимо выполнить до stmt. Значение по умолчанию — «пройти».
- таймер :здесь будет значение таймера, для timeit() уже установлено значение по умолчанию, и мы можем его игнорировать.
- номер :stmt будет выполняться в соответствии с указанным здесь числом. Значение по умолчанию:1000000.
Для работы с timeit() нам нужно импортировать модуль, как показано ниже:
import timeit
Первый пример
Вот простой пример функции timeit()
Пример кода 1:
# testing timeit() import timeit print(timeit.timeit('output = 10*5'))
Вывод:
0.06127880399999999
Мы видели простой пример, который дает нам время выполнения оператора простого кода output =10 * 5, а время, необходимое для его выполнения, составляет 0,06127880399999999.
Синхронизация нескольких строк в коде Python
Вы можете выполнить несколько строк кода в timeit.timeit(), используя точку с запятой или сохранив код в виде строки с тройными кавычками.
Вот примеры, которые показывают, как это работает.
Пример 1. Использование точки с запятой
import timeit print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))
Вывод:
The time taken is 0.137031482
Пример 2. Использование тройных кавычек
import timeit import_module = "import random" testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.repeat(stmt=testcode, setup=import_module))
Вывод:
C:\pythontest>python testtimeit.py The time taken is 0.182619178
timeit – Методы:
Вот 2 важных метода timeit
timeit.default_timer() :это вернет время по умолчанию при выполнении.
timeit.repeat(stmt, setup, timer, repeat, number) :то же, что и timeit() , но с повторением timeit() вызывается количество раз, которое задано повторением.
Пример программы 1:
# testing timeit() import timeit import_module = "import random" testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.timeit(stmt=testcode, setup=import_module))
Вывод:
0.46715912400000004
Пример 2:
Пример default_timer()
# testing timeit() import timeit import random def test(): return random.randint(10, 100) starttime = timeit.default_timer() print("The start time is :",starttime) test() print("The time difference is :", timeit.default_timer() - starttime)
Вывод:
The start time is : 0.220261875 The time difference is : 0.0004737320000000045
Пример 3:timeit.repeat()
# testing timeit() import timeit import_module = "import random" testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.repeat(stmt=testcode, setup=import_module, repeat=5))
Вывод:
[0.43638873, 0.5040939680000001, 0.5069179909999999, 0.3943449330000002, 0.3546886979999999]
timeit.repeat() работает аналогично функции timeit.timeit(), с той лишь разницей, что она принимает аргумент повторения и возвращает время выполнения в формате массива со значениями в соответствии с номером повторения.
Выполнение функции синхронизации timeit.timeit() внутри интерфейса командной строки
Синтаксис для выполнения вашей функции внутри timeit() в командной строке следующий:
python -m timeit [-n N] [-r N] [-s S] [-t] [-c] [-h] [code statement ...]
Параметры командной строки:
- -n N:количество раз выполнения кода.
- -r N:количество повторений функции timeit()
- -s S:здесь будут детали настройки, которые будут выполняться перед выполнением кода.
- -t:для этого вы можете использовать time.time()
- -c:для этого вы можете использовать time.clock()
- -h:для справки
- оператор кода:детали кода.
Пример:
C:\pythontest>python -m timeit -s 'text="hello world"' 20000000 loops, best of 5: 13.1 nsec per loop
Другой способ выполнения внутри командной строки показан ниже:
Пример:
>>> import timeit >>> print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b')) The time taken is 0.15048536300000137 >>>
Почему timeit() — лучший способ измерить время выполнения кода Python?
Вот несколько причин, по которым мы считаем timeit() лучшим способом измерения времени выполнения.
- Он запускает оператор кода 1 миллион раз, что является значением по умолчанию, и, исходя из этого, он возвращает вам минимальное время. Вы также можете увеличить/уменьшить 1 миллион, задав номер аргумента в функции time().
- Во время выполнения теста сборка мусора каждый раз отключается функцией time().
- timeit() внутренне определяет точное время в соответствии с используемой операционной системой. Например, он будет использовать time.clock() для операционной системы Windows и time.time() для Mac и Linux.
Обзор
Timeit() используется для получения времени выполнения заданного небольшого кода
Параметры, используемые с timeit()
- stmt:возьмет код, для которого вы хотите измерить время выполнения.
- setup:содержит сведения о настройке, которые необходимо выполнить до запуска stmt.
- timer:здесь будет значение таймера, timeit() уже имеет установленное значение по умолчанию, и мы можем его игнорировать.
- число:stmt будет выполняться в соответствии с указанным здесь числом.
Python
- Python Получить текущее время
- Модуль времени Python
- Количество строк Python() с ПРИМЕРАМИ
- Python String format() Объясните с ПРИМЕРАМИ
- Метод Python String find() с примерами
- Лямбда-функции Python с ПРИМЕРАМИ
- Функция Python round() с ПРИМЕРАМИ
- Функция Python map() с ПРИМЕРАМИ
- Счетчик Python в коллекциях с примером
- type() и isinstance() в Python с примерами