Функция time.perf_counter () в Python

Опубликовано: 30 Марта, 2022

Модуль As time предоставляет различные функции, связанные со временем. Поэтому необходимо импортировать модуль времени, иначе произойдет ошибка, потому что определение perf_counter () присутствует в модуле времени.

Функция perf_counter () всегда возвращает значение времени с плавающей запятой в секундах. Возвращает значение (в долях секунды) счетчика производительности, т. Е. Часы с наивысшим доступным разрешением для измерения короткой продолжительности. Он включает время, прошедшее во время сна, и является общесистемным. Контрольная точка возвращаемого значения не определена, поэтому действительна только разница между результатами последовательных вызовов. Между этим мы можем использовать time.sleep () и аналогичные функции.

Code #1: Understand the usage of the perf_counter .

# Python program to show time by perf_counter() 
from time import perf_counter
  
# integer input from user, 2 input in single line
n, m = map(int, input().split()) 
  
# Start the stopwatch / counter
t1_start = perf_counter() 
  
for i in range(n):
    t = int(input()) # user gave input n times
    if t % m == 0:
        print(t) 
  
# Stop the stopwatch / counter
t1_stop = perf_counter()
  
print("Elapsed time:", t1_stop, t1_start) 
  
  
print("Elapsed time during the whole program in seconds:",
                                        t1_stop-t1_start)

Выход:

pref_counter_ns ():
Он всегда дает целое значение времени в наносекундах. Подобно perf_counter (), но возвращает время в наносекундах.

Code #2: Usage of the perf_counter_ns and how to implement it.

# Python program to show time by
# perf_counter_ns()
from time import perf_counter_ns
  
# integer input from user, 2 input in single line
n, m = map(int, input().split()) 
  
# Start the stopwatch / counter
t1_start = perf_counter_ns()
  
for i in range(n):
    t = int(input()) # user gave input n times
    if t % m == 0:
        print(t)
  
# Stop the stopwatch / counter
t1_stop = perf_counter_ns()
  
print("Elapsed time:", t1_stop, "ns", t1_start, "ns"
  
print("Elapsed time during the whole program in ns after n, m inputs:",
       t1_stop-t1_start, "ns")

Выход:

Сравните оба выхода программы, поскольку perf_counter () возвращает в секундах, а pers_counter_ns () возвращает в наносекундах.

Advantages of perf_counter() :
1. perf_counter() will give you more precise value than time.clock() function .
2. From Python3.8 time.clock() function will be deleted and perf_counter will be used.
3. We can calculate float and integer both values of time in seconds and nanoseconds.

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.