Cronometrar un bucle en Mojo
perf_counter_ns encierra un bloque de trabajo para medir cuánto tardó de verdad.
from std.time import perf_counter_ns
def main():
var start = perf_counter_ns()
var total = 0
for i in range(1000000):
total += i * i
var elapsed = perf_counter_ns() - start
print("total", total)
print("microseconds", elapsed // 1000)
Cómo funciona
- El contador se lee una vez antes del bucle y otra después.
- El bucle hace trabajo suficiente para que el cronómetro tenga algo que ver.
- Dividir la diferencia en nanosegundos entre 1000 informa microsegundos.
Palabras clave y builtins usados aquí
defforprintrangevar
El intento, en números
- Líneas
- 11
- Caracteres a escribir
- 235
- Tokens
- 57
- Ritmo de tres estrellas
- 75 tpm
Al ritmo de tres estrellas de 75 tokens por minuto, este intento toma unos 46 segundos.
Paso 3 de 5 en Números y tiempo; paso 14 de 22 en Parámetros y SIMD.