Linux 核心 5.6 合併改進後的 zstd,效能大幅提升

出品|開源中國

作者|局長

上週六 Linux 5。6 合併了專為核心進行徹底修改的 Zstd 原始碼。

雖然 Linux 核心已在多個模組使用了 Zstd,從透明檔案系統壓縮與 Btrfs 之類的資料壓縮,到允許核心模組使用 Zstandard 演算法進行壓縮,但這些 Zstd 程式碼都是比較古老的版本,可以說是已經過時了許久。現在在 Linux 5。6 中,Zstd 核心實現已達到現代標準,並提供了更好的效能。

Linux 核心 5.6 合併改進後的 zstd,效能大幅提升

據介紹,現有的 Zstd 核心程式碼已經有四年的歷史了,而在這段時間裡,Zstd 上游修復了許多錯誤並優化了效能。Linux 5。16 透過合併新程式碼,Btrfs Zstd 解壓速度可以提高約 15%,SquasFS Zstd 解壓速度提高約 15%,F2FS Zstd 解壓速度提高 20% 以上,zRAM 解壓速度提高約 30%,核心 Zstd 映象解壓速度提高了 35% 左右,其他方面也有不錯的最佳化。

此外,在不久的將來,Zstd 還會有更多的效能最佳化,但首先需要達到里程碑——將重大修改後的程式碼合併到主線上。Zstd 1。5。1 應該很快就會發布,此版本將會更好地進行統一併提供最新的改進。

有關更多細節,任何在核心中依賴 Zstd 壓縮/解壓的開發者可以看此項 Git 合併。這個 PR 是幾天前提交的,但 Linus Torvalds 指出,鑑於它的影響,他希望推遲合併,以便有更多時間親自審查程式碼。

如果你對 Zstd 的 CPU 效能基準感興趣,檢視 OpenBenchmarking。org 以瞭解許多不同處理器的綜合排名。

延伸閱讀

Linux 核心即將用上最新的 Zstd 實現

為 Linux 5。16 準備的新版 Zstd 已就緒,最高帶來 35% 的效能提升