Zstd顯著提升Linux內核鏡像壓縮效率5.9版有望將其合併進主線
Facebook工程師Nick Terrell近日向Linux內核提交了使用Zstd壓縮Linux內核鏡像的補丁,這些補丁顯示了使用Zstd對內核、ramdisk和initramfs進行壓縮操作具備巨大潛力。
Nick 發現,在x86_64 硬件上,當初始RAM 文件系統將壓縮算法從XZ 切換到Zstd 時,解壓時間從12 秒下降到只需3 秒,此次切換整體上還給系統的引導時間帶來了兩秒的改進。同樣看到較大改進的場景包括從LZMA 切換到Zstd,Nick 在切換至 Zstd 的Facebook 服務器上發現解壓時間從12 秒下降到了8 秒。
相關基準測試結果可查看 https://lkml.org/lkml/2020/7/1/722
至於壓縮率,Zstd 的壓縮率要比內核使用的Gzip 低,但比XZ 和 LZMA 高。不過Zstd 是除了LZ4 之外,解壓速度最快的算法。
根據目前的情況來看,內核對Zstd 的支持有望在下一個版本中(Linux Kernel 5.9)實現。一旦Zstd 進入內核主線,Nick 的後續計劃是放棄對BZ2 和LZMA(1) 的支持。這將有助於清理更多的內核代碼,因為Bzip2 和LZMA 目前並沒有在內核樹之外的其他地方使用。