.NET 8'de FrozenDictionary (dondurulmuş sözlük), çoğunlukla okunan ama nadiren yazılan verilerde anlamlı kazanç veriyor; her sözlük değişiminde değil. Sözlük bir kez doldurulup "dondurulunca" arama (lookup) hızlanır ama yeni ekleme pahalılaşır.
Kendi testimde 100 bin anahtar ve %99 okuma ile aramada yaklaşık %15-20 iyileşme gördüm. Sık ekleme/güncelleme varsa ConcurrentDictionary (eşzamanlı erişime uygun sözlük) hâlâ kazanan.
Ne zaman kullanıyorum: uygulama başlarken doldurulup dondurulan ayar haritası, kargo firması kodu → isim eşlemesi, enum → metin dönüşümü. Her istekte değişen oturum verisi veya istek bazlı önbellek için uygun değil.
var map = configs.ToFrozenDictionary(c => c.Key, c => c.Value);
En çok çalışan kod yolunda (hot path) profil almak şart. Sunumda "daha hızlı" yazması yetmez; ölçülmüş karar olmalı.
Özet: Sık okunan, nadiren yazılan sabit veriler için FrozenDictionary. Sık yazılan veriler için değil.
