Memoization একটি ফাংশনের ফলাফলগুলি তার আর্গুমেন্টগুলির উপর ভিত্তি করে ক্যাশ করে, যাতে একই ইনপুট সহ পুনরাবৃত্ত কল অবিলম্বে ক্যাশ করা ফলাফল ফেরত দেয় পরিবর্তে পুনরায় গণনা করার। এটি গতির জন্য মেমরি বিনিময় করে এবং শুধুমাত্র বিশুদ্ধ ফাংশনগুলির জন্য কাজ করে (একই ইনপুট → একই আউটপুট, কোনো পার্শ্ব প্রভাব নেই)।
একটি সাধারণ memoize র্যাপার
js
() {
cache = ();
{
key = .(args);
(cache.(key)) {
cache.(key);
}
result = (...args);
cache.(key, result);
result;
};
}
= n => { n * n; };
fastSquare = (slowSquare);
();
();
