Performance
更快的 zlib 替代品
我想知道,是否有更快的 zlib 建構和更高級的優化?
如果可以使用 SSE 指令或英特爾 C++ 編譯器或一些較早獲得專利的技巧(我知道專利是 gzip/zlib 開發過程中的一個嚴重限制)對其進行優化,有沒有人費心去實現它?
我對壓縮速度特別感興趣,它對提供靜態和動態內容的高性能 Web 服務有直接影響。
在第一次問這個問題幾年後,一些更快的 x86_64 zlib 出現了使用 BarsMonster 建議的優化類型:
samtools(一套用於與高通量測序數據互動的工具)的作者對 zlib 速度進行了比較。
zlib-ng 收集不在主線 zlib 中的 zlib 優化,但它可能不如主線 zlib 穩定。它的問題跟踪器作為對其他已知 zlib 加速的參考也很有指導意義。
最近,一個聲稱“在 x86_64 上將 inflate_fast 加速高達 1.5 倍”(通過一次填充和複製 8 個字節)的請求請求 已經提出,但沒有被主線 zlib 接受。提供這項工作的更新檔也有一個坎坷的旅程被 Chromium 接受(請參閱這個Chromium 錯誤和Chromium 評論),但希望送出者能夠休息一下,離開並重新充電,因為從遠處看,進展似乎非常緩慢在復雜的情況下…
甚至最近,libdeflate是一個高度優化的重寫,它產生/配置與 zlib 兼容的輸出/輸入,但不提供與 zlib 兼容的 API。在撰寫本文時,這具有 zlib 速度王冠。