AD

¿Ya dominas lo básico? Un curso estructurado de JavaScript es la vía rápida para dar el salto.

Ver cursos de JavaScript en Udemy

Enlace de afiliado. No te cuesta nada extra.

🟨Lecciones de JavaScript
Lección 39 / 69

Acelerar cálculos con memoización (caché)

En esta lección aprenderás la técnica de la memoización (caché) para acelerar de forma eficiente los cálculos pesados. Está dirigida a quien busca «qué es la memoización en JavaScript» o «implementar una caché en JavaScript».

La memoización es una técnica en la que guardas el resultado de un cálculo en una «caja» una vez, de modo que si vuelve a llegar la misma entrada, lo sacas de la caja en lugar de recalcular. Imagínalo como «si te hacen siempre la misma pregunta, devuelves la respuesta que ya recuerdas». Al no repetir un cálculo pesado y lento una y otra vez, la velocidad de respuesta de una aplicación puede mejorar muchísimo.

El código de ejemplo usa un objeto llamado cache como caja, comprobando «¿ya se calculó esto?» con el operador in dentro de la función slowSquare. Si ya está calculado, devuelve el valor de la caché al instante; si no, calcula primero y guarda el resultado. Observa cómo difiere lo mostrado las dos veces que se pasa el 5.

Un tropiezo habitual al empezar es decidir qué usar como clave de la caché. Para una función con varios argumentos necesitas alguna estrategia, como combinarlos en una sola cadena que haga de clave. Además, abusar de la caché consume memoria sin límite, así que los proyectos reales necesitan alguna forma de no almacenar indefinidamente.

Cuanto más pesado el cálculo numérico, mayor el efecto, y esta idea se usa mucho en mejoras de rendimiento reales. La idea de la memoización también se aplica a cosas como cachear peticiones de red, para no enviar la misma petición a una API una y otra vez.

JavaScript
SALIDA

💡 Todo lo que pases a console.log() aparece en la salida de abajo.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)