Я практикую використання незмінного об'єкта в C ++. Моя особиста мета - представити загальний графік об'єктів (в купі) із послідовністю незмінних графіків.
Побудувати графік з декількома версіями не так вже й складно. Проблема - продуктивність. Версія з грубою силою потребує повної копії графіка, і це було не прийнятно.
Я намагався ділитися незмінними вузлами. Але в цьому випадку у мене з’явилася нова проблема; посилання. Посилання на інший об'єкт має бути оновлено у цілому графіку. Для цього потрібно відвідувати всі вузли щоразу, коли я отримую нову версію графіка. І це мутує вузли з посиланнями, тому їх також слід отримати (копіюючи). Продуктивність не буде кращою, ніж копіювання з грубої сили.
Наскільки я можу собі уявити, немає реального ефективного способу представити мутацію об'єктного графіка з незмінними станами. Тож я прошу якусь ідею з цього приводу.
Чи можливо ефективно зображувати мутацію об'єктного графіка з незмінним станом?