Как сгладить внутренний стек ImmutableDictionary - PullRequest
0 голосов
/ 24 октября 2019

Я не знаю, как ImmutableDictionary работает внутри, но я думаю, что он создает внутренний стек версий, которые он использует для эффективного создания новых версий только с изменениями? Мой вопрос заключается в том, как это влияет на производительность, если вносить много итеративных изменений. Если размер стека возрастет до нескольких тысяч, разве это не будет очень плохо для производительности? Возможно, этот класс управляет этим и автоматически выравнивает свой стек, когда больше нет ссылок на более старые версии? Есть ли способ, которым я могу вручную сделать этот стек эффективным способом? Я мог бы просто преобразовать его в обычный словарь, а затем снова вернуться, я думаю, но, возможно, его можно было бы сделать более внутренним.

...