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