Memoization एक फंक्शनको परिणामहरूलाई यसका argument द्वारा कुञ्जी गरी क्यास गर्छ, त्यसैले समान input सँग बारम्बार कलहरूले तुरुन्त क्यास गरिएको परिणाम फर्काउँछ पुन: गणना गर्नुको सट्टा। यो गति को लागि मेमोरी व्यापार गर्छ र केवल pure फंक्शनहरूको लागि काम गर्छ (समान इनपुट → समान आउटपुट, कुनै साइड इफेक्ट छैन)।
एक सामान्य memoize wrapper
js
() {
cache = ();
{
key = .(args);
(cache.(key)) {
cache.(key);
}
result = (...args);
cache.(key, result);
result;
};
}
= n => { n * n; };
fastSquare = (slowSquare);
();
();
