typestar

Capacidad de una lista en Mojo

Un List duplica su buffer al crecer, y por eso los append salen baratos.

def main():
    var grown = List[Int]()
    for i in range(5):
        grown.append(i)
        print(len(grown), grown.capacity)
    var sized = List[Int](capacity=64)
    sized.reserve(128)
    print(len(sized), sized.capacity)

Cómo funciona

  1. Imprimir len y capacity en cada append deja ver la duplicación.
  2. List[Int](capacity=64) pide lugar por adelantado.
  3. reserve agranda más el buffer sin agregar ningún elemento.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
8
Caracteres a escribir
192
Tokens
60
Ritmo de tres estrellas
75 tpm

Al ritmo de tres estrellas de 75 tokens por minuto, este intento toma unos 48 segundos.

Escribe este fragmento

Paso 3 de 4 en Memoria; paso 19 de 22 en Parámetros y SIMD.

← Anterior Siguiente →