আমি জানতে চাই যে এর মধ্যে আসল পার্থক্য কী caching
এবং memoization
।
আমি এটি দেখতে পেয়েছি, উভয়ই স্টোর করে ডেটা পেতে বারবার ফাংশন কলগুলি এড়ানো জড়িত ।
দুজনের মধ্যে মূল পার্থক্য কী?
আমি জানতে চাই যে এর মধ্যে আসল পার্থক্য কী caching
এবং memoization
।
আমি এটি দেখতে পেয়েছি, উভয়ই স্টোর করে ডেটা পেতে বারবার ফাংশন কলগুলি এড়ানো জড়িত ।
দুজনের মধ্যে মূল পার্থক্য কী?
উত্তর:
মেমোয়েজেশন হল ক্যাচিংয়ের একটি নির্দিষ্ট ফর্ম যা এর পরামিতিগুলির উপর ভিত্তি করে কোনও ফাংশনের রিটার্ন মান ক্যাচিংয়ের সাথে জড়িত ।
ক্যাচিং আরও সাধারণ শব্দ; উদাহরণস্বরূপ, এইচটিটিপি ক্যাচিং ক্যাশ করছে তবে মেমোয়েজেশন নয়।
উইকিপিডিয়া বলেছেন :
যদিও ক্যাশে সম্পর্কিত, মেমোয়েজেশন বলতে এই অপটিমাইজেশনের একটি নির্দিষ্ট কেসকে বোঝায়, এটিকে বাফারিং বা পৃষ্ঠা প্রতিস্থাপনের মতো ক্যাশিংয়ের ফর্ম থেকে আলাদা করে।
If-Match
এবং মেয়াদ শেষ হওয়ার কারণে features স্মৃতিচারণ শুধুমাত্র খাঁটি ফাংশনটির জন্য অর্থবোধ করে, যা এইচটিটিপি খুব কমই হয়।
যেহেতু আমি তাদের ব্যবহার করতে দেখেছি, "স্মৃতিচারণ" হ'ল "একটি ডিটারমিনিস্টিক ফাংশনের ফলাফলকে ক্যাশে করা" যা একই ফাংশন এবং ইনপুটগুলির পরে যে কোনও সময়ে পুনরুত্পাদন করা যেতে পারে।
"ক্যাশিং" এর মধ্যে মূলত কোনও আউটপুট-বাফারিং কৌশল অন্তর্ভুক্ত থাকে, উত্সের মান একটি নির্দিষ্ট সময়ে পুনরুত্পাদনযোগ্য কিনা। প্রকৃতপক্ষে, ক্যাচিংটি ইনপুট বাফারিং কৌশলগুলি যেমন ডিস্ক বা মেমরির লিখন-ক্যাশে হিসাবে উল্লেখ করতে ব্যবহৃত হয় । সুতরাং এটি অনেক বেশি সাধারণ শব্দ।
আমি মনে করি আপনি যখন আইও অপারেশনের ফলাফলগুলি সংরক্ষণ করেন বা মূলত বাইরে থেকে আপনার কাছে আসা কোনও ডেটা (ফাইল, নেটওয়ার্ক, ডিবি কোয়েরি) ব্যবহার করেন তখন সাধারণত ক্যাশিং শব্দটি ব্যবহৃত হয়। টার্ম মেমোইজেশন সাধারণত আপনার নিজস্ব গণনার ফলাফল সংরক্ষণের ক্ষেত্রে প্রযোজ্য, উদাহরণস্বরূপ ডায়নামিক প্রোগ্রামিংয়ের প্রসঙ্গে।
স্মৃতিচারণ একটি ডিস্ট্রিমেন্টিক ফাংশনের ফলাফলকে ক্যাশে করার একটি বিশেষ ফর্ম। এর অর্থ হল যে ফাংশনের বাইরে ফলাফলের ক্যাশে করা স্মৃতিচারণ নয় কারণ ফাংশনটিকে নতুন ফলাফল গণনা করার সময় ক্যাশেটিকে পরিবর্তন করতে হবে (ইতিমধ্যে ক্যাশে নেই) সুতরাং এটি আর কোনও (শুদ্ধ) ফাংশন হবে না। মেমোয়েজেশন সাধারণত অতিরিক্ত আর্গুমেন্ট হিসাবে (কোনও সহায়ক কার্যক্রমে) ক্যাশে পাস করার অর্থ দেয়। মেমোয়েজেশন এমন একক ক্রিয়াকলাপকে অনুকূল করবে যা একক অ্যাক্সেসের জন্য কয়েকবার মান গণনা করতে হবে। ক্যাচিং একই পরামিতিগুলির সাথে কয়েকবার ডাকা ফাংশনগুলি অনুকূল করে তোলে। অন্য কথায়, মেমোয়েজেশন প্রথম অ্যাক্সেসকে অনুকূল করে তুলবে যে ক্যাচিং কেবল পুনরাবৃত্তির অ্যাক্সেসগুলিকে অনুকূল করবে।