Сергей Тепляков написал статью о перформанс-ловушке при использовании метода
string.Intern.-
string.Intern в .NET слишком медленный из-за блокировки, которая берётся при доступе к кэшу интернированных строк- в NativeAOT проблема исправлена — чтение из кэша происходит без блокировки, используется реализация кэша аналогичная старому
Hashtable- самый простой способ сделать интернирование быстрее на всех платформах — использовать
ConcurrentDictionary вместо string.Intern====
Хэш-таблица, позволяющая чтение без блокировок также есть в моей библиотеке ConcurrencyToolkit, под названием
SingleWriterDictionary.@epeshkblog | Поддержать канал
█░░░░░░░░░░░░ 29 / 300