上周六 Linux 5.6 合并了专为内核进行彻底修改的 Zstd 源代码。

虽然 Linux 内核已在多个模块使用了 Zstd,从透明文件系统压缩与 Btrfs 之类的数据压缩,到允许内核模块使用 Zstandard 算法进行压缩,但这些 Zstd 代码都是比较古老的版本,可以说是已经过时了许久。现在在 Linux 5.6 中,Zstd 内核实现已达到现代标准,并提供了更好的性能。

据介绍,现有的 Zstd 内核代码已经有四年的历史了,而在这段时间里,Zstd 上游修复了许多错误并优化了性能。Linux 5.16 通过合并新代码,Btrfs Zstd 解压速度可以提高约 15%,SquasFS Zstd 解压速度提高约 15%,F2FS Zstd 解压速度提高 20% 以上,zRAM 解压速度提高约 30%,内核 Zstd 镜像解压速度提高了 35% 左右,其他方面也有不错的优化。

此外,在不久的将来,Zstd 还会有更多的性能优化,但首先需要达到里程碑——将重大修改后的代码合并到主线上。Zstd 1.5.1 应该很快就会发布,此版本将会更好地进行统一并提供最新的改进。

有关更多细节,任何在内核中依赖 Zstd 压缩/解压的开发者可以看此项 Git 合并。这个 PR 是几天前提交的,但 Linus Torvalds 指出,鉴于它的影响,他希望推迟合并,以便有更多时间亲自审查代码。

如果你对 Zstd 的 CPU 性能基准感兴趣,查看 OpenBenchmarking.org 以了解许多不同处理器的综合排名。

延伸阅读

  • Linux 内核即将用上最新的 Zstd 实现
  • 为 Linux 5.16 准备的新版 Zstd 已就绪,最高带来 35% 的性能提升

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注