Memoization cachelagrer en funktions resultater nøglede efter dens argumenter, så gentagne kald med samme input øjeblikkeligt returnerer det cachelagrede resultat i stedet for at genberegne. Det bytter hukommelse for hastighed og fungerer kun for rene funktioner (samme input → samme output, ingen bivirkninger).
En generisk memoize-wrapper
js
() {
cache = ();
{
key = .(args);
(cache.(key)) {
cache.(key);
}
result = (...args);
cache.(key, result);
result;
};
}
= n => { n * n; };
fastSquare = (slowSquare);
();
();
