Facebook 工程師Nick Terrell 近日向 Linux 內(nèi)核提交了使用Zstd 壓縮 Linux 內(nèi)核鏡像的補丁,這些補丁顯示了使用 Zstd 對內(nèi)核、ramdisk 和 initramfs 進(jìn)行壓縮操作具備巨大潛力。
Nick 發(fā)現(xiàn),在 x86_64 硬件上,當(dāng)初始 RAM 文件系統(tǒng)將壓縮算法從 XZ 切換到 Zstd 時,解壓時間從 12 秒下降到只需 3 秒,此次切換整體上還給系統(tǒng)的引導(dǎo)時間帶來了兩秒的改進(jìn)。同樣看到較大改進(jìn)的場景包括從 LZMA 切換到 Zstd,Nick 在切換至Zstd 的 Facebook 服務(wù)器上發(fā)現(xiàn)解壓時間從 12 秒下降到了 8 秒。
至于壓縮率,Zstd 的壓縮率要比內(nèi)核使用的 Gzip 低,但比 XZ 和LZMA 高。不過Zstd 是除了 LZ4 之外,解壓速度最快的算法。
根據(jù)目前的情況來看,內(nèi)核對 Zstd 的支持有望在下一個版本中(Linux Kernel 5.9)實現(xiàn)。一旦 Zstd 進(jìn)入內(nèi)核主線,Nick 的后續(xù)計劃是放棄對 BZ2 和 LZMA(1)的支持。這將有助于清理更多的內(nèi)核代碼,因為 Bzip2 和 LZMA 目前并沒有在內(nèi)核樹之外的其他地方使用。
關(guān)鍵詞: