Linux六大壓縮算法橫評:Ubuntu 19.10最終選擇LZ4
在今天發布的Canonical官方博文中,來自Kernel團隊的Ubuntu工程師Colin Ian King介紹了Ubuntu 19.10操作系統啟動方面的一些改進。Ubuntu 19.10(Eoan Ermine)操作系統計劃於10月17日正式發布,博文中表示通過過去數月的努力已經找到了更快的壓縮/解壓縮算法。
Ubuntu Kernel團隊對initramfs的六種壓縮方法進行了基準測試,包括BZIP2,GZIP,LZ4,LZMA,LZMO和XZ,以測量Linux內核的加載時間以及解壓縮時間。主要使用x86 TSC(Time Stamp Counter)在x86設備上進行基準測試。
根據測試結果,團隊發現LZ4是Ubuntu 19.10(Eoan Ermine)的最佳壓縮/解壓縮方法,這是因為,因為BZIP2,LZMA和XZ的解壓縮速度很慢,而LZ4比GZIP快7倍。LZO比GZIP快約1.25倍,但速度不夠快。
Colin Ian King表示:“即使在慢速運行的傳輸媒介和慢速CPU上,LZ4內核的更長加載時間也會帶來更快的壓縮時間。不過伴隨著媒介傳輸速度的提升,GZIP,LZ4和LZO之間的加載時間差減小,壓縮時間變化來看LZ4是最大的贏家。”
自Ubuntu 18.10(Cosmic Cuttlefish)發布以來,LZ4默認已經在Ubuntu中使用,但看起來Canonical將保留Ubuntu 19.10(Eoan Ermine)操作系統中內核和initramfs的默認壓縮/解壓縮方法。
LZ4是一種無損數據壓縮算法,可提供極快的壓縮和解壓縮速度。在Ubuntu 19.10(Eoan Ermine)中,LZ4將用於x86(64位),PPC64le(PowerPC 64位Little Endian)和s390(IBM System z)內核。
相關:
分析: https://kernel.ubuntu.com/~cking/boot-speed-eoan-5.3/kernel-compression-method.txt
數據: https://kernel.ubuntu.com/~cking/boot-speed -eoan-5.3/boot-speed-compression-5.3-rc4.ods