আমার ধারণা সেরা উত্তরটি এটি নির্ভর করে। আমার অভিজ্ঞতায় ক্যাশিং অ্যালগরিদমগুলি বেছে নেওয়ার ক্ষেত্রে অনেকগুলি কারণ রয়েছে।
বিবেচনা করার বিষয়গুলি
- ব্যালেন্স পড়ুন / লিখুন। (বনাম লেখার জন্য অ্যাক্সেসের কত শতাংশ পড়ছেন)
- ক্যাশের পরিমাণ।
- ক্যাশের পিছনে মিডিয়া টাইপ। (তারা কি এসটিএ ড্রাইভগুলি দ্রুত বা এসএসডি ড্রাইভগুলি ধীর করে দিচ্ছে?)
- হিট বনাম মিসগুলি। (জিনিসগুলি প্রায়শই কীভাবে পুনরায় লিখিত বা পুনরায় লেখা হয়?)
- গড় অ্যাক্সেসের আকার (এটি পৃষ্ঠার আকারটি বেছে নেবে)
- কত ব্যয়বহুল পড়া এবং লেখার।
একবার আপনি সমস্ত বিভিন্ন কারণ বিবেচনা করুন তারপরে আপনাকে একটি ক্যাশে অ্যালগরিদম সন্ধান করতে হবে যা সবচেয়ে ভাল পরিচালনা করে। উদাহরণস্বরূপ বলুন যে আপনার কাছে এমন একটি অ্যাপ্লিকেশন রয়েছে যেখানে প্রচুর লেখাগুলি রয়েছে, কিছু লিখেছে, সম্প্রতি লেখা ডেটা পড়েছে এবং কিছু স্পিনিং মিডিয়া রয়েছে। এই ক্ষেত্রে আপনি এক ধরণের হাইব্রিড ক্যাশিং অ্যালগরিদম চাইবেন would লেখার ডেটা হ্যান্ডেল করার জন্য আপনি ডিস্ক থেকে পড়া ডেটার জন্য বুদ্ধিমান অর্ডার অফ রাইটস (ডাব্লুডাব্লু) এবং একটি এলআরইউ অ্যালগরিদম জাতীয় কিছু চাইবেন। এর কারণ হ'ল ডিস্ক অ্যাক্সেসগুলি খুব ব্যয়বহুল এবং WW অ্যালগরিদম ডেটা লেখার পক্ষে আরও দক্ষ করে তোলে এবং LRU প্রায়শই অ্যাক্সেস করা ডেটা সর্বদা ক্যাশে রাখে ache
বলুন যে আপনার কাছে এসএসডি ডিস্ক রয়েছে, যার খুব অ্যাক্সেসের সময় রয়েছে, আপনি এলআরইউ অ্যালগরিদমের দিকে আপনার পছন্দটি গিয়ার করতে চাইতে পারেন কারণ ডিস্ক অ্যাক্সেসগুলি তুলনামূলকভাবে সস্তা।
সুতরাং সত্যিই আমি যা বলতে চাই তা হ'ল কোনও "সেরা" উত্তর নেই। সর্বোত্তম উত্তরটি হ'ল যে উপাদানগুলি আপনার জন্য প্রযোজ্য তা জেনে রাখুন এবং একটি অ্যালগরিদম চয়ন করুন যা সেগুলি সর্বোত্তমভাবে পরিচালনা করে।
আপনার জন্য কীভাবে অ্যালগরিদম খুঁজে পাবেন
আপনার সিস্টেমের প্রোফাইল দিন। এর মধ্যে সাধারণত মেমরি অ্যাক্সেসের পরিসংখ্যান রাখতে কোড যুক্ত করা জড়িত। প্রোফাইলিংয়ের মাধ্যমে আপনি দেখতে পাচ্ছেন যে কোন বিষয়গুলি আপনার পক্ষে সবচেয়ে গুরুত্বপূর্ণ।
অতীতে আমি সময়ের সাথে সাথে সমস্ত স্মৃতি অ্যাক্সেসগুলি ট্র্যাক করার জন্য কোড যুক্ত করেছি। তারপরে আমি নিদর্শনগুলির সন্ধান করি। আমি পুনরায় পড়ার জন্য, পুনরায় লেখার, ক্রমানুসারে অ্যাক্সেস, এলোমেলো অ্যাক্সেস ইত্যাদির সন্ধান করছি ..
একবার আপনি গুরুত্বপূর্ণ জিনিসগুলি সনাক্ত করে নেওয়ার পরে আপনাকে কোন জিনিসটি সবচেয়ে ভাল তা হ্যান্ডেল করতে দেখতে বিভিন্ন ধরণের ক্যাশেগরি অ্যালগরিদমগুলি দেখতে হবে।