内容简介:Zstd v1.4.9 已发布, 这是一个增量版本,其中包括各种改进和错误修复。zstd (Zstandard) 是由 Facebook 开源的快速无损压缩算法,主要应用于 zlib 级别的实时压缩场景,并且具有更好的压缩比。zstd 还可以以压缩...
Zstd v1.4.9 已发布, 这是一个增量版本,其中包括各种改进和错误修复。zstd (Zstandard) 是由 Facebook 开源的快速无损压缩算法,主要应用于 zlib 级别的实时压缩场景,并且具有更好的压缩比。zstd 还可以以压缩速度为代价提供更强的压缩比,速度与压缩权衡可通过小增量进行配置。
>2x Faster Long Distance Mode
归功于许多优化措施,Long Distance Mode (LDM) 速度出现了大大提升。这些优化在保持压缩率的同时极大地加快压缩时间。用 zstd -T0 -1 --long=31 在 Intel I9-9900K上以 3.2GHz 的速度进行基准测试,可以看到:
File | v1.4.8 MB/s | v1.4.9 MB/s | Improvement |
---|---|---|---|
silesia.tar | 308 | 692 | 125% |
linux-versions* | 312 | 667 | 114% |
enwik9 | 294 | 747 | 154% |
* linux-versions 是 linux 4.0、5.0 和 5.10 git archives 的集合。
新的实验性解压功能:ZSTD_d_refMultipleDDicts
如果启用了高级参数 ZSTD_d_refMultipleDDicts,那么对 ZSTD_refDDict() 的多次调用将在相应的 DCtx 中被执行。用法示例:
ZSTD_DCtx* dctx = ZSTD_createDCtx(); ZSTD_DCtx_setParameter(dctx, ZSTD_d_refMultipleDDicts, ZSTD_rmd_refMultipleDDicts); ZSTD_DCtx_refDDict(dctx, ddict1); ZSTD_DCtx_refDDict(dctx, ddict2); ZSTD_DCtx_refDDict(dctx, ddict3); ... ZSTD_decompress...
现在可以通过单个 ZSTD_decompress 调用对每个具有自己的 dictID 的多个帧进行解压缩。只要每个帧头的 dictID 引用 DCtx 中的一个 dictID,那么相应的字典就会被用来解压该特定的帧。值得注意的是,statically-allocated DCtx 禁用了此功能。
更多其他更改可查看:https://github.com/facebook/zstd/releases/tag/v1.4.9
以上所述就是小编给大家介绍的《Zstd 1.4.9 发布,long 模式性能提升约 2 倍》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。