আমি সি ++ তে অপরিবর্তনীয় বস্তুর ব্যবহার অনুশীলন করছি। আমার ব্যক্তিগত লক্ষ্যটি অপরিবর্তনীয় গ্রাফের ক্রম সহ জেনেরিক অবজেক্ট গ্রাফকে (হিপগুলিতে) উপস্থাপন করছে।
মাল্টি-ভার্সন গ্রাফ নিজে তৈরি করা তেমন শক্ত নয়। সমস্যা হল পারফরম্যান্স। ব্রুট-ফোর্স সংস্করণটির গ্রাফের সম্পূর্ণ অনুলিপি প্রয়োজন এবং এটি গ্রহণযোগ্য ছিল না।
অপরিবর্তিত নোডগুলি ভাগ করে নেওয়ার চেষ্টা করেছি। তবে এই ক্ষেত্রে, আমি একটি নতুন সমস্যা পেয়েছি; রেফারেন্স। অন্যান্য বস্তুর রেফারেন্সটি পুরো গ্রাফে আপডেট করতে হবে। প্রতিবার যখন আমি একটি নতুন গ্রাফ সংস্করণ পাই তখন এর জন্য সমস্ত নোডের পরিদর্শন করা দরকার। এবং এটি নোডগুলিকে রেফারেন্স সহ রূপান্তর করে, তাই সেগুলিও অনুলিপি করা উচিত (অনুলিপি করে)। ব্রুট ফোর্স অনুলিপি করার চেয়ে পারফরম্যান্স আরও ভাল হবে না।
যতদূর আমি কল্পনা করতে পারি, অপরিবর্তনীয় রাজ্যগুলির সাথে অবজেক্ট গ্রাফের রূপান্তর উপস্থাপনের জন্য কোনও কার্যকরী উপায় নেই। তাই আমি এই সম্পর্কে কিছু ধারণা জিজ্ঞাসা করছি।
অপরিবর্তনীয় রাষ্ট্রের সাথে কী দক্ষতার সাথে অবজেক্ট গ্রাফের রূপান্তর উপস্থাপন করা সম্ভব?