vlambda博客
学习文章列表

Linux六大压缩算法横评:Ubuntu 19.10最终选择LZ4


来自:cnbeta.com
在今天发布的
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倍,但速度不够快。

Linux六大压缩算法横评:Ubuntu 19.10最终选择LZ4

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