Memoizimi i ruaj në cache rezultatet e një funksioni të indeksuar sipas argumenteve të tij, kështu që thirrjet e përsëritura me të njëjta inpute kthejnë rezultatin e ruajtur në cache në mënyrë të menjëhershme në vend që ta rillogaritni. Ai bën shkëmbim të memories për shpejtësi dhe funksionon vetëm për funksionet pure (i njëjti input → i njëjti output, pa efekte anësore).
Një wrapper memoize gjenerik
js
() {
cache = ();
{
key = .(args);
(cache.(key)) {
cache.(key);
}
result = (...args);
cache.(key, result);
result;
};
}
= n => { n * n; };
fastSquare = (slowSquare);
();
();
