过去几周,Arch Linux 维护人员比较了不同的压缩算法,最终计划使用 zstd 取代 devtools 中的默认压缩算法。
当前的压缩方法是`xz -c -z -`,它是单线程的,速度很慢,所以团队希望用更快的算法来将其替换。
虽然多线程 xz 早已出现,但是在一些意外情况下无法完成功能,所以很快就被淘汰了。
新的想法是使用 Facebook 的 zstd 算法,zstd 又叫 Zstandard,它是一种快速无损压缩算法,主要应用于 zlib 级别的实时压缩场景,并且具有更好的压缩比。
zstd 还可以以压缩速度为代价提供更强的压缩比,速度与压缩权衡可通过小增量进行配置。
经过一系列测试后 Arch 团队得出结论,理想的 zstd 级别将是“-18”,`zstd -c -T0 -18 -`相比`xz -c -z -`的优势是:
- 压缩时速度大幅提高
- 解压速度大幅提高
- 稳定、可重复的多线程
压缩速度的提高将大大提高 pacman 的包安装速度。
目前 zstd 已经处在项目主干上,等待发布。
详情查看邮件说明:https://lists.archlinux.org/pipermail/arch-dev-public/2019-March/029520.html
转自 https://www.oschina.net/news/105406/arch-change-default-compression-method-to-zstd