改進後的Zstd壓縮演算法被併入Linux 5.16 迎來性能大提升
Zstd被普遍用於Linux內核的各個領域用於數據壓縮,從與Btrfs一樣的透明文件系統壓縮到允許內核模組用Zstandard演算法進行壓縮,但已經存在於內核中的代碼已經過時多年了。 而在Linux 5.16中,Zstd的內核實現被提升到了最新標準,並提供了更好的性能。

週六晚上為Linux 5.16合併的是Linux內核的Zstd代碼,它經過了全面的修改。 修訂后的代碼在Zstd的基礎上加入了新內核風格封裝的API,這也有利於今後更容易更新,並可以自動生成/衍生出上游的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合併的所有細節:
這個拉動請求是幾天前提交的,但Linus Torvalds指出,鑒於它的影響,他希望推遲合併,以便有更多時間親自審查代碼。
如果你對Zstd的CPU性能基準感興趣,請參閱 OpenBenchmarking.org 的網頁,瞭解許多不同處理器的綜合排名: