近日 Canonical 官方博文中发布的,来自内核团队的 Ubuntu 工程师 Colin Ian King 介绍了 Ubuntu 19.10 操作系统启动方面的一些改进。
Ubuntu 19.10 选择 LZ4 压缩算法
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 的解压缩速度很慢,因此在进一步的测试中很快就被排除了。在压缩大小方面,GZIP 效果最好,能将文件压缩至最小,其次是 LZO(大约比 GZIP 大 16%)和LZ4(大约比 GZIP 大 25%),而在压缩时间方面,LZ4 比 GZIP 快 7 倍,LZO 比 GZIP 快约 1.25 倍,因此可以看到 GZIP 的速度不够快。
== x220 HDD vs SSD ==
For slow rotational media (5400 RPM HDD) on a slow x220 laptop, the
load time is a dominate factor taking 1.0-1.3 seconds for GZIP, LZ4 and
LZO.
Compressed Load Decompress Total
Kernel Sizetimetimetime
(bytes)(seconds)(seconds)(seconds)
GZIP 88596931.1640.4071.572
LZ4110841031.2740.0561.330
LZO 102453531.2490.3211.570
Compressed Load Decompress Total
Kernel Sizetimetimetime
(bytes)(seconds)(seconds)(seconds)
GZIP 88596930.4670.4070.874
LZ4110841030.5270.0560.583
LZO 102453530.5040.3210.825
Compressed Load Decompress Total
Kernel Sizetimetimetime
(bytes)(seconds)(seconds)(seconds)
GZIP 88596930.2300.0920.323
LZ4110841030.2600.0130.273
LZO 102453530.2610.0750.336
更多详细信息,可以查看具体的评测数据
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)内核。
相关