Web sunucuları, URL ayrıştırıcıları ve derleyiciler gibi birçok yazılım uygulaması, HTTP yöntemleri veya protokol tanımlayıcıları gibi sabit metinleri belirli değerlerle eşleştirmek için önemli miktarda zaman harcar. Standart C++ yaklaşımı, bu anahtarları dinamik veri olarak ele alan std::unordered_map kullanır; bu durum ise çalışma zamanında özetleme (hashing), kovuk seçimi, işaretçi takibi ve çakışma çözümü gibi maliyetlere yol açar. Ancak bu tür senaryolarda anahtarlar statiktir ve kod yazım aşamasında bilinmektedir. Bu nedenle, genel amaçlı karma tabloların (hash tables) çalışma zamanındaki yükü, performans kritik uygulamalar için verimsiz ve gereksizdir. Önerilen çözüm, bir özetleme fonksiyonunun... kavramına dayanan mükemmel özetleme (perfect hashing) tekniğinden yararlanmaktadır.

Konular: C++ Programlama: Performans Optimizasyonu, Algoritmalar ve Veri Yapıları

SiteM’de tam özet, flashcard ve quiz →

Orijinal kaynak: lemire.me

Kaynak: sitem.co — paylas.io yer imi / keşif katmanı.