Gestor de contexto para cronometrar en Python
Los gestores de contexto garantizan la limpieza; este mide el tiempo transcurrido.
import time
from contextlib import contextmanager
@contextmanager
def cronometrar(rotulo):
inicio = time.perf_counter()
try:
yield
finally:
transcurrido = time.perf_counter() - inicio
print(f"{rotulo}: {transcurrido:.3f}s")
Cómo funciona
@contextmanagerconvierte el generador en un ayudante de bloques with.- El código antes del
yieldcorre al entrar y registra la hora de inicio. - El bloque
finallysiempre imprime el tiempo transcurrido al salir.
Palabras clave y builtins usados aquí
deffinallyprinttryyield
El intento, en números
- Líneas
- 11
- Caracteres a escribir
- 224
- Tokens
- 50
- Ritmo de tres estrellas
- 105 tpm
Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 29 segundos.
Paso 2 de 5 en Protocolos y gestores de contexto; paso 16 de 53 en Python pythónico.