Rapidhash 崛起成為小型鍵值雜湊函式的新標杆,效能超越 XXH3

BigGo Editorial Team
Rapidhash 崛起成為小型鍵值雜湊函式的新標杆,效能超越 XXH3

在雜湊函式的專業領域中,一個名為 rapidhash 的新競爭者已經嶄露頭角,有望成為小型鍵值雜湊處理的最新技術標杆。據社群專家表示,rapidhash 代表了非加密雜湊函式在平衡速度、質量和平臺相容性方面的重大進步。

速度與質量的平衡

雜湊函式是計算領域的基礎構建模組,應用於從雜湊表和字典到校驗和和資料驗證的各種場景。理想的雜湊函式能夠在儘可能快速處理資料的同時,將輸入均勻分佈在其輸出空間中。然而,長期以來,吞吐量、延遲和質量之間一直存在著根本性的權衡。

「雜湊函式在吞吐量和延遲之間存在著根本性的權衡。rapidhash 演算法顯然針對小型鍵值(如字串字典等)的低延遲場景進行了最佳化。」

rapidhash 的特別之處在於它在處理小型鍵值(通常是小於100位元組的字串)時表現出色,同時保持高質量的分佈特性。這使其在雜湊對映實現中特別有價值,因為在處理大量小型字串時,呼叫雜湊函式本身的開銷變得非常顯著。

超越 XXH3:質量至關重要

儘管 XXH3 多年來一直是流行選擇,但社群專家指出,它在 SMHasher3(一個評估雜湊函式質量的綜合測試套件)中約15%的測試中失敗。相比之下,rapidhash 通過了 SMHasher 和 SMHasher3 的所有測試,同時提供更出色的效能。

雜湊函式的質量指的是它多接近隨機預言機——本質上是指它如何均勻地將任何給定的輸入集分佈在其輸出空間中。雖然像 SHA-256 這樣的加密雜湊函式在這方面表現出色,但它們通常要慢得多。像 rapidhash 這樣的非加密函式旨在找到速度和質量之間的最佳平衡。

效能基準測試顯示,rapidhash 在雜湊小型鍵值(4-16位元組)時取得了令人印象深刻的結果,平均延遲從 Apple M3 Pro 上的1.38納秒到 AMD Turin 處理器上的2.31納秒不等。對於更大的輸入,rapidhash 在 Apple 的 M4 晶片上可達到高達71GB/秒的吞吐量,明顯超過 XXH3 在相同硬體上的49GB/秒。

效能比較:平均延遲(4-16位元組鍵的雜湊處理)

雜湊函式 M1 Pro M3 Pro Neoverse V2 AMD Turin
rapidhash 1.79ns 1.38ns 2.07ns 2.31ns
xxh3 1.92ns 1.50ns 2.15ns 2.35ns

峰值吞吐量(16KB-2MB檔案的雜湊處理)

雜湊函式 M1 Pro M3 Pro M3 Ultra M4 Neoverse V2
rapidhash 47GB/s 57GB/s 61GB/s 71GB/s 37GB/s
xxh3 37GB/s 43GB/s 47GB/s 49GB/s 34GB/s

專業化應用場景

討論表明,雜湊函式的選擇應該針對特定的使用場景。對於具有小型鍵值的字典查詢和雜湊表,rapidhash 似乎是當前的領導者。然而,對於那些鍵值屬性事先已知的專業應用,定製設計的雜湊函式可能仍然提供更好的效能。

在現代伺服器硬體上,延遲最佳化演算法(如 rapidhash)和吞吐量最佳化替代方案之間的交叉點大約在400-500位元組左右。對於大於此閾值的鍵值,其他解決方案可能更為適合。

值得注意的是,非加密雜湊函式領域在近年來發展迅速。十年前被認為是最先進的函式,按照今天的標準可能已被視為失效。這種快速進步顯著提高了對通用雜湊函式的要求標準。

對於從事涉及雜湊表或字典的效能關鍵型應用的開發人員來說,rapidhash 代表了一個平衡程式碼大小、速度和質量的有力選擇。其能夠以最小延遲處理小型鍵值,同時保持高質量分佈特性的能力,使其在現代軟體開發中特別有價值。

參考:rapidhash - Very fast, high quality, platform-independent