লাইবমেচ ক্যাশের মতো বিদ্যমান সমাধানগুলি আপনার প্রয়োজনের সাথে খাপ খায় কিনা তা আগে পরীক্ষা করুন।
যদি না ...
হ্যাশ মানচিত্রগুলি আপনার প্রয়োজনীয়তার সুনির্দিষ্ট উত্তর বলে মনে হচ্ছে। এটি কীগুলির উপর ভিত্তি করে ও (1) অনুসন্ধান সরবরাহ করে। বেশিরভাগ এসটিএল লাইব্রেরি আজকাল কিছু ধরণের হ্যাশ সরবরাহ করে। সুতরাং আপনার প্ল্যাটফর্মের সরবরাহিত একটি ব্যবহার করুন।
এই অংশটি শেষ হয়ে গেলে, আপনার প্রয়োজনীয়তার জন্য ডিফল্ট হ্যাশিং অ্যালগরিদম যথেষ্ট পরিমাণে পারফরম্যান্সের ভিত্তিতে সঠিক কিনা তা দেখার জন্য আপনাকে সমাধানটি পরীক্ষা করতে হবে।
যদি এটি না হয়, আপনার নেট থেকে পাওয়া কিছু ভাল ফাস্ট হ্যাশিং অ্যালগরিদমগুলি অন্বেষণ করা উচিত
- ভাল পুরাতন মৌলিক সংখ্যা বহুগুণ
- http://www.azillionmonkeys.com/qed/hash.html
- http://burtleburtle.net/bob/
- http://code.google.com/p/google-sparsehash/
যদি এটি যথেষ্ট পরিমাণে ভাল না হয় তবে আপনি নিজেই একটি হ্যাশিং মডিউল রোল করতে পারেন, এটি আপনাকে যে STL কন্টেনারগুলি দেখেছিল এবং যেটির উপরে আপনি একটি হ্যাশিং অ্যালগরিদম দিয়েছিলেন তা সমাধান করে। ফলাফল কোথাও পোস্ট করতে ভুলবেন না।
ওহ এবং এটি আকর্ষণীয় যে আপনার একাধিক মানচিত্র রয়েছে ... সম্ভবত আপনি আপনার কীটি map৪ বিট নাম্বার হিসাবে উচ্চ বিট দিয়ে কোন মানচিত্রের অন্তর্ভুক্ত তা আলাদা করতে এবং একটি কী হ্যাশে সমস্ত মূল মান যুক্ত যুক্ত করে সহজ করতে পারবেন। আমি হ্যাশগুলি দেখেছি যার লক্ষ হাজার বা ততোধিক চিহ্ন রয়েছে বেসিক প্রাইম সংখ্যাটি হ্যাশিং অ্যালগরিদমের উপর পুরোপুরি ভালভাবে কাজ করছে।
শত ম্যাপের তুলনায় সমাধানটি কীভাবে সম্পাদন করে তা আপনি পরীক্ষা করতে পারেন .. আমার মনে হয় মেমরির প্রোফাইলিং দৃষ্টিকোণ থেকে এটি আরও ভাল হতে পারে ... যদি আপনি এই অনুশীলনটি করতে চান তবে ফলাফল কোথাও পোস্ট করুন please
আমি বিশ্বাস করি যে হ্যাশিং অ্যালগরিদমের চেয়ে এটি মেমরির অবিচ্ছিন্ন যোগ / মুছতে পারে (এটি এড়ানো যায়?) এবং সিপিইউ ক্যাশে ব্যবহারের প্রোফাইল যা আপনার অ্যাপ্লিকেশনটির কার্য সম্পাদনের জন্য আরও গুরুত্বপূর্ণ হতে পারে
শুভকামনা