typestar

Medir código en Python

timeit lo corre suficientes veces para que signifique algo, en un espacio aislado.

import timeit

setup = "valores = list(range(1000))"

bucle = timeit.timeit("total = 0\nfor v in valores: total += v",
                     setup=setup, number=2000)
integrado = timeit.timeit("sum(valores)", setup=setup, number=2000)

print(f"bucle     {bucle / 2000 * 1e6:.1f} us por llamada")
print(f"integrado {integrado / 2000 * 1e6:.1f} us por llamada")
print(f"{bucle / integrado:.1f}x")
print(min(timeit.repeat("sum(valores)", setup=setup, number=500, repeat=3)))

Cómo funciona

  1. number es cuántas repeticiones cronometrar.
  2. setup corre una vez y no se cuenta.
  3. Compara el costo por llamada, no los totales.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
12
Caracteres a escribir
449
Tokens
119
Ritmo de tres estrellas
110 tpm

Al ritmo de tres estrellas de 110 tokens por minuto, este intento toma unos 65 segundos.

Escribe este fragmento

Paso 1 de 4 en Medición e introspección; paso 35 de 41 en Herramientas de dominio.

← Anterior Siguiente →