función time.perf_counter() en Python

El módulo de tiempo proporciona varias funciones relacionadas con el tiempo. Debemos importar el módulo de tiempo antes de usar perf_counter() para que podamos acceder a la función sin arrojar ningún error.
La función perf_counter() siempre devuelve el valor flotante del tiempo en segundos. Devuelve el valor (en fracciones de segundo) de un contador de rendimiento, es decir, un reloj con la resolución más alta disponible para medir una duración corta. Incluye el tiempo transcurrido durante el sueño y es para todo el sistema. El punto de referencia del valor devuelto no está definido, por lo que solo es válida la diferencia entre los resultados de llamadas consecutivas. Entre esto podemos usar time.sleep() y funciones similares.
Código n.º 1: comprender el uso de perf_counter
 

Python3

# 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)

Producción: 
 

pref_counter_ns(): 
Siempre da el valor entero del tiempo en nanosegundos. Similar a perf_counter(), pero el tiempo de retorno es nanosegundos.
Código #2: Uso de perf_counter_ns y cómo implementarlo. 
 

Python3

# 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')

Producción: 
 

Compare ambas salidas del programa, ya que perf_counter() regresa en segundos y pers_counter_ns() regresa en nanosegundos.
Ventajas de perf_counter(): 
1. perf_counter() le dará un valor más preciso que la función time.clock(). 
2. Desde Python3.8, se eliminará la función time.clock() y se usará perf_counter. 
3. Podemos calcular números flotantes y enteros, ambos valores de tiempo en segundos y nanosegundos. 
 

Publicación traducida automáticamente

Artículo escrito por YashKhandelwal8 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *