Zstd 1.4.9 发布,long 模式性能提升约 2 倍

栏目: 软件资讯 · 发布时间: 5年前

内容简介: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 倍》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C++ API设计

C++ API设计

[美] Martin Reddy / 刘晓娜、臧秀涛、林健 / 人民邮电出版社 / 2013-8 / 89.00

现代软件开发中的一大难题就是如何编写优质的API。API负责为某个组件提供逻辑接口并隐藏该模块的内部细节。多数程序员依靠的是经验和冒险,从而很难达到健壮、高效、稳定、可扩展性强的要求。Martin Reddy博士在自己多年经验基础之上,对于不同API风格与模式,总结出了API设计的种种最佳策略,着重针对大规模长期开发项目,辅以翔实的代码范例,从而有助于设计决策的成功实施,以及软件项目的健壮性及稳定......一起来看看 《C++ API设计》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具