Zstandard v1.5.7 发布:性能全面提升的压缩算法升级

Zstandard v1.5.7 发布:性能全面提升的压缩算法升级

zstd Zstandard - Fast real-time compression algorithm zstd 项目地址: https://gitcode.com/gh_mirrors/zs/zstd

Zstandard(简称zstd)是Facebook开发的一款高性能实时压缩算法,以其出色的压缩比和极快的压缩/解压速度著称。它广泛应用于数据库系统、文件存储、网络传输等场景,被集成到Linux内核、RocksDB等众多知名项目中。

核心性能提升

小数据块压缩速度显著提升

v1.5.7版本针对小数据块(4KB-128KB)的压缩性能进行了重点优化。在快速压缩级别下,压缩速度提升了10%-20%。这对于数据库系统(如RocksDB)特别有价值,因为这些系统通常将数据划分为16KB左右的小块以提高随机访问性能。

测试数据显示,在Silesia语料库上,16KB数据块的压缩速度从360MB/s提升到396MB/s,32KB数据块更是从383MB/s跃升至458MB/s,提升幅度达20%。这种改进同样部分适用于字典压缩场景,提升幅度在0-15%之间。

差分压缩功能大幅增强

--patch-from功能(类似于bsdiff的差异压缩)在高压缩级别(18+)下获得了显著的速度提升。例如,在6线程环境下压缩linux-6.13.tar相对于linux-6.12.tar的差异时:

  • 级别18:从210秒降至42.7秒(4.9倍提升)
  • 级别21:从365秒降至120秒(3.1倍提升)

同时,压缩比也有明显改善,级别18的压缩比提升了10%,级别19提升了12.6%。新增的--max命令更是将压缩比推向极致,虽然需要更多时间和内存资源。

大文件压缩比普遍提升

通过改进块边界选择算法,所有压缩级别的压缩比都有所提升,特别是在低级别(≤15)更为明显。例如:

  • 级别1:压缩体积减少199KB
  • 级别12:减少257KB
  • 级别22:减少36KB

重要功能更新

默认启用多线程

考虑到现代多核CPU的普及,zstd现在默认使用多线程压缩。系统会根据CPU核心数自动选择线程数(最多4个),既利用多核优势,又避免过度占用资源。用户仍可通过命令行或环境变量手动设置线程数。

新增--max压缩模式

这一新模式通过启用所有优化参数来最大化压缩比,适合对压缩率有极致要求的场景。测试显示,在压缩1GB的enwik9文件时,--max--ultra -22多压缩11MB,但耗时从6分钟增加到72分钟,内存占用从3GB增加到18GB。

关键修复与改进

32位模式压缩错误修复

修复了一个罕见的32位模式下的压缩错误,该错误在长时间使用同一个压缩上下文时可能发生。虽然触发条件苛刻,但在大规模使用场景下已被观察到。因此,32位用户强烈建议升级。

其他重要改进

  • Windows平台性能提升
  • 更好的BMI2指令集检测(现支持32位x86)
  • 新增ZSTD_compressSequencesAndLiterals() API
  • 改进的构建系统支持(CMake、Meson、VS2022等)
  • 增强的平台兼容性(QNX、FreeBSD、Hurd等)

技术实现亮点

本次更新的性能提升主要来自:

  1. 对小数据块压缩路径的优化,减少了分支预测失败和缓存未命中
  2. 差分压缩中改进了匹配查找算法,避免冗余计算
  3. 更智能的块边界选择策略,平衡了压缩比和处理速度
  4. 多线程任务调度优化,减少同步开销

这些改进使得zstd在各种场景下都能提供更好的性能表现,无论是处理小数据块的数据库系统,还是需要高压缩比的大文件存储场景。

对于开发者而言,v1.5.7不仅带来了性能提升,还通过新增API和构建系统改进降低了集成难度。对于终端用户,多线程默认启用和更快的压缩速度将直接改善使用体验。

作为当前最活跃的压缩算法项目之一,zstd持续证明其在性能与功能上的领先地位,v1.5.7版本的发布进一步巩固了这一优势。

zstd Zstandard - Fast real-time compression algorithm zstd 项目地址: https://gitcode.com/gh_mirrors/zs/zstd

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梅德炎Patriotic

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值