Memorización en JavaScript

 

 

 

Memorizacion en javascript 1

Introducción a la memorización en JavaScript

La memorización es una técnica que te permite agilizar considerablemente tus aplicaciones.

No es una técnica exclusiva de JavaScript, aunque etiqueta esta publicación como “JavaScript” porque proporcionará algunos ejemplos de JS.

La memorización es el acto de almacenar el resultado de una llamada a una función después de ejecutarla, en la propia función. La próxima vez que llamemos a la función, en lugar de realizar su ejecución “normal” una vez más, simplemente nos devolverá el resultado almacenado.

 

Es almacenamiento en caché para funciones .

¿Por qué esto es útil?

Supongamos que nuestra función tarda 1 segundo en ejecutarse, mientras que el almacenamiento en caché nos permite acelerar el proceso a 2 milisegundos. Aquí hay una clara ventaja.

Sueña genial. ¿Dónde está el truco?

La memorización funciona si el resultado de llamar a una función con el mismo conjunto de argumentos genera la misma salida. En otras palabras, la función debe ser pura . De lo contrario, no tendría sentido almacenar el resultado en caché.

 

Por lo tanto, las consultas a bases de datos, las solicitudes de red, la escritura en archivos y otras operaciones no puras no se pueden optimizar con la memorización. Para ello, deberá encontrar otras formas de optimizarlas o simplemente aceptar su ineficiencia, que a veces es inevitable.

Vamos a crear un ejemplo:

// Calculate the factorial of numconst fact = num = { if (!fact.cache) { fact.cache = {} } if (fact.cache[num] !== undefined) { console.log(num + ' cached') return fact.cache[num]; } else { console.log(num + ' not cached') } fact.cache[num] = num === 0 ? 1 : num * fact(num - 1) return fact.cache[num]}

Cálculo del factorial de un número. La primera vez fact()que se ejecuta, crea una cachepropiedad de objeto en la propia función, donde se almacena el resultado de su cálculo.Te recomendamos Todo sobre tecnologia

En cada llamada, si no encontramos el resultado del número en el cacheobjeto, realizamos el cálculo. De lo contrario, simplemente lo devolvemos.

Intenta ejecutarlo. Hice un Codepen para que sea más fácil probarlo, que se usa document.write()para imprimir en la página HTML (es la primera vez que lo uso document.write()por mucho tiempo, pero esta vez fue útil).

 

Vea este ejemplo en Codepen: https://codepen.io/flaviocopes/pen/aMbbbP/

Hay bibliotecas que agregarán la función de memorización a cualquier función pura, de modo que puedes omitir la tarea de modificar la función en sí, pero simplemente las decoraciones con esta funcionalidad.

En particular menciono fast-memoize.

Lodash también tiene un memoize()método, si eres fan de Lodash.

Tips para principiantes de JavaScript




Tal vez te puede interesar:

  1. Cómo generar un número aleatorio entre dos números en JavaScript
  2. Cómo esperar el evento DOM listo en JavaScript simple
  3. Cómo determinar si una fecha es hoy en JavaScript
  4. Cómo contar el número de propiedades en un objeto JavaScript

Memorización en JavaScript

La memorización es una técnica que te permite agilizar considerablemente tus aplicaciones. Introducción a la memorización en JavaScript Introducción a la

programar

es

2025-01-18

 

Memorizacion en javascript 1
Memorizacion en javascript 1

Si crees que alguno de los contenidos (texto, imagenes o multimedia) en esta página infringe tus derechos relativos a propiedad intelectual, marcas registradas o cualquier otro de tus derechos, por favor ponte en contacto con nosotros en el mail [email protected] y retiraremos este contenido inmediatamente

 

 

Update cookies preferences