Capítulo 10. Memoización
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Utilizar funciones puras tiene más ventajas que producir resultados predecibles. Es cierto que eso es bueno, pero hay otra forma de utilizar ese comportamiento en nuestro beneficio.
La memoización es algo parecido a la caché, concretamente a la función GetOrAdd() de la clase MemoryCache(). La memoización toma un valor clave de algún tipo, y si esa clave ya está presente en la caché, devuelve el objeto. Si la clave no está presente, tienes que pasar una función que genere el valor requerido. A diferencia del almacenamiento en caché estándar, no tienes que preocuparte por la invalidación de la caché o la actualización de valores ya almacenados. Normalmente, la memoización retiene los valores mientras dura un cálculo mayor y luego descarta todo lo que ha almacenado.
La memoización funciona exactamente según el mismo principio que la caché estándar, salvo que su alcance puede no ir más allá de una única unidad de trabajo, que puede ser simplemente un único cálculo. No es un sustituto de la caché estándar.
La memorización es útil en un cálculo de varios pasos que pueda ser recursivo, o que implique que los mismos cálculos se realicen varias veces por alguna razón. Quizá la mejor forma de explicarlo sea con un ejemplo.
Números de tocino
¿Alguna vez has querido una forma entretenida de perder una tarde o dos? Echa un vistazo a los números de Bacon ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access