Перейти к содержимому
IMOEX 2144.97 1.0%
·Технологии·26 июля 2026 г.

Бенчмаркая FrozenDictionary: заменил Dictionary — получил от ×0,76 до ×1,9

Бенчмаркая FrozenDictionary: заменил Dictionary — получил от ×0,76 до ×1,9

FrozenDictionary сделан под словари, которые заполняют один раз при старте, а дальше только читают. Замерил на четырёх машинах и трёх рантаймах — разброс вышел от ×0,76 до ×1,9, и зависит он не от версии .NET, а от того, сколько ключей и как они устроены.

Разобрал, куда уходит время в поиске по строке, вытащил из рантайма имена реализаций, которые он подбирает под конкретный набор ключей, и посмотрел в дизасме, за счёт чего Frozen выигрывает — и почему на маленьких наборах проигрывает.

Это отрывок статьи. Полную версию читайте на сайте источника по ссылке ниже.

Источник: Habr