typestar

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

  1. El contador se lee una vez antes del bucle y otra después.
  2. El bucle hace trabajo suficiente para que el cronómetro tenga algo que ver.
  3. Dividir la diferencia en nanosegundos entre 1000 informa microsegundos.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 3 de 5 en Números y tiempo; paso 14 de 22 en Parámetros y SIMD.

← Anterior Siguiente →