Funciones de temporizador en Python

  1. Uso de la función time.time() en Python
  2. Uso de la función time.Process_time() en Python
  3. Uso de la función time.Perf_counter en Python
  4. Uso de la función time.monotonic() en Python

Python es un lenguaje de programación muy amplio que tiene un uso muy elevado en todo el mundo. Los programadores crean numerosos programas que requieren una cantidad considerable de líneas de código Python. Para monitorear y analizar esos códigos según el tiempo de ejecución, podemos usar las funciones de temporizador de Python.

El módulo time es el más importante aquí, ya que contiene todas las funciones que ayudan a controlar el tiempo y analizarlo.

En este tutorial, discutiremos varias funciones de Python Timer usando el módulo de tiempo.

Uso de la función time.time() en Python

Esta función devuelve el tiempo en segundos. Son los segundos que pasan después de la época: el 1 de enero de 1970, 00:00:00 (UTC). Esta función utiliza el tiempo establecido del sistema informático para devolver la salida, es decir, el número de segundos.

Ejemplo:

import time

start = time.time()

for r in range(1,20000):
    pass

end = time.time()
print(format(end-start))

Entre start y end, aparece el cuerpo principal del código. Aquí, se toma como ejemplo un bucle for.

Producción:

3.252345085144043

Tenga en cuenta que la salida, es decir, los segundos, es un valor flotante.

Uso de la función time.Process_time() en Python

Esta función devuelve el tiempo en fracciones de segundo. La referencia de tiempo de todo el proceso también se registra en la función y no solo el tiempo transcurrido durante el proceso.

Ejemplo:

from time import process_time, sleep

start = process_time()  

for r in range(20):
    print(r, end=" ")

end = process_time()
print(end, start)
print(end-start)

Producción:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 10.756645 10.75523
0.0014150000000014984

El tiempo empleado en time.sleep() no se mide con esta función, lo que significa que solo mide la diferencia de tiempo entre dos referencias de tiempo consecutivas.

Uso de la función time.Perf_counter en Python

También conocida como Contador de rendimiento, esta función ayuda a obtener el conteo de tiempo entre dos referencias de una manera más precisa. Esta función solo debe aplicarse a procesos pequeños ya que es muy precisa.

También podemos usar time.sleep() entre esta función. Con esta función, la ejecución del código puede suspenderse durante varios segundos. La función sleep() toma un valor flotante como argumento.

Ejemplo:

from time import perf_counter, sleep

n = 10
start = perf_counter()  

for r in range(n): 
    sleep(2)

end = perf_counter() 

print(end-start)

Producción:

20.03540569800043

El valor devuelto muestra el tiempo total transcurrido. Como la función sleep está configurada en 2, se necesitaron 20.035 segundos para completar todo el proceso donde el valor de entrada era 10.

Uso de la función time.monotonic() en Python

Si el usuario cambia la hora mientras ejecuta un código de Python, puede marcar una gran diferencia al implementar la función de temporizador en Python. En esta situación, la función de temporizador monótono asegura que las referencias de tiempo se adapten a los cambios realizados por el usuario externamente.

Ejemplo:

from time import monotonic, sleep

n = 10
start = monotonic()  

for r in range(n): 
    sleep(2)

end = monotonic() 

print(end-start)

Producción:

20.029595676999634

Las referencias de inicio y final aseguran que el programa se adapte a cualquier cambio realizado por el usuario.

Artículo relacionado - Python Timer

  • Crear un temporizador de cuenta regresiva en Python