AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

Zstandard:一种新的无损压缩算法

  • 2015-01-29
  • 本文字数:976 字

    阅读完需:约 3 分钟

Zstandard (缩写为 Zstd)是一种新的无损压缩算法,旨在提供快速压缩,并实现高压缩比。它既不像 LZMA ZPAQ 那样追求尽可能高的压缩比,也不像 LZ4 那样追求极致的压缩速度。

下面是一组基准测试数据:

压缩算法名称

压缩比

压缩速度(MB/s)

解压速度(MB/s)

zlib 1.2.8 -6

3.099

18

275

Zstd

2.872

201

498

zlib 1.2.8 -1

2.73

58

250

LZ4 HC r127

2.72

26

1720

QuickLZ 1.5.1b6

2.237

323

373

LZO 2.06

2.106

351

510

Snappy 1.1.0

2.091

238

964

LZ4 r127

2.084

370

1590

LZF 3.6

2.077

220

502

(环境:Core i5-4300U @ 1.9GHZ;基准测试程序:开源程序 fsbench 0.14.3

从上表可以看出,Zstd 的压缩比和压缩速度都比较高,而且解压速度大约为每核 500MB/s。

Zstd 的压缩速度可以根据不同的情况进行配置。在上述测试中,它提供了大约每核 200MB/s 的速度,可以用于一些实时压缩场景。同时,与 LZ4 类似,它可以提供平衡压缩比和压缩时间的衍生算法,并且不影响解压性能。

Zstd 还有一个特点是内存需求可配置。这使它可以适应内存配置低或者服务器并行处理多个请求的情况。此外,它采用了“有限状态熵(Finite State Entropy,缩写为FSE)”编码器。该编码器是由Jarek Duda 基于ANS 理论开发的一种新型熵编码器,旨在与“霍夫曼编码器(Huffman encoder)”和“算数编码器(Arithmetic encoder)”相竞争。

另据 Cyan4973 项目创建者 Yann Collet介绍,虽然Zstd 是一个速度很快的压缩/ 解压算法,但它并没有进入LZ4 的适用范围。在一项基准测试中(测试方法见这里),Collet 得出了这样的结论:

当传输速度高于50MB/s 时,LZ4 是更好的选择;而当传输速度介于0.5MB/s 和50MB/s 时,Zstd 在速度上领先于其它算法。

此外,在回复用户评论时,Collect 比较了Zstd 与 lzham

根据我的理解,它们的设计出发点不同。Lzham 来源于 LZMA……以离线压缩场景作为衡量标准……而 Zstd 的基本原则更像 Zlib ,但主要有三点变化:

  • FSE 代替霍夫曼编码器;
  • 不限匹配尺寸;
  • 偏移量可重复。

最后,请读者朋友们注意:Zstd 开发尚处于起步阶段,本文的一些测试结果也只是早期的测试结果,其实现将会随着时间的推移继续改进和提高,尤其是在项目创建的第一年里。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2015-01-29 19:5861478
用户头像

发布了 1008 篇内容, 共 411.2 次阅读, 收获喜欢 346 次。

关注

评论

发布
暂无评论
发现更多内容

保姆级教程!基于声网 Web SDK实现音视频通话及屏幕共享

声网

企业支出如何一眼看全局,用友BIP很在行

用友BIP

商旅费控

GuavaCache与物模型大对象引起的内存暴涨分析——设备管理运维类

阿里云AIoT

缓存 算法 监控 物联网 数据格式

Macbook技巧,Type-c接口失灵怎么办

互联网搬砖工作者

Matlab常用图像处理命令108例(八)

timerring

图像处理

什么是智慧公厕?智慧公厕存在的意义!

光明源智慧厕所

智慧城市

技术详解 阿里云AIoT物模型支撑设备规模已超亿级——设备管理运维类

阿里云AIoT

运维 安全 监控 物联网 芯片

浅谈DWS函数出参方式

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 3 月 PK 榜

实战|网站监控如何做好监测点管理与内网数据采集

云智慧AIOps社区

安全 监控 监控宝 云智慧 网站监控

Tapdata Connector 实用指南:云原生数仓场景之数据实时同步到 Databend

tapdata

数据库 大数据

未来智安入选FreeBuf《CCSIP 2022中国网络安全行业全景册(第五版)》

未来智安XDR SEC

阿里云AIoT物联网平台如何实现设备全球就近接入——设备接入类

阿里云AIoT

运维 监控 物联网 中间件 数据采集

火山引擎DataLeap:数据秒级生产,揭秘电商实时数仓最佳实践!

字节跳动数据平台

数据治理 电商 数据研发 企业号 3 月 PK 榜

【3.10-3.17】写作社区优秀技术博文一览

InfoQ写作社区官方

热门活动 优质创作周报

8年Java架构师面试官教你正确的面试姿势,10W字面试题搞定春招!

小小怪下士

Java 程序员 后端 java面试

什么是安全文件传输

镭速

NFTScan 与 UniPass 达成合作伙伴,双方在多链 NFT 数据方面展开合作!

NFT Research

NFT

阿里120W年薪架构师力荐750页微服务架构深度解析笔记

程序知音

Java 微服务 编程语言 后端技术

有效载荷标识与内容类型--MQTT 5.0新特性

EMQ映云科技

物联网 IoT mqtt 企业号 3 月 PK 榜 有效载荷标识

PS 2023版本 24.2有哪些新功能?增加了哪些相机配置?

Rose

ps ps 2023 Photoshop 2023下载

解决运行VMWare虚拟机报错“打不开 /dev/vmmon:断裂管道”

互联网搬砖工作者

焱融为国家电网打造存算一体的融合基础架构 助推能源行业新基建

焱融科技

文件存储 容器存储 分布式文件存储 高性能存储 国家电网

物联网数据应用开发最佳实践——数据价值类

阿里云AIoT

数据挖掘 物联网 存储 数据管理 调度

大资管行业数字化转型解决方案 | 行业方案

袋鼠云数栈

大数据 数字化转型 解决方案

基于声网 Flutter SDK 实现互动直播

声网

flutter

从“可用”到“好用” 京东云构建融合开放适配国产化应用的全栈产品矩阵

京东科技开发者

国产化 京东云 国产化替代 京东云峰会

AGI时代即将降临,现代化产业建设的出路又在何处?

加入高科技仿生人

低代码 AGI 现代化产业

共享订阅--MQTT 5.0新特性

EMQ映云科技

物联网 IoT mqtt 企业号 3 月 PK 榜 共享订阅

全能代码编辑器:CodeRunner 最新激活版

真大的脸盆

Mac 代码编辑器 Mac 软件 代码编辑 编辑代码

专场直播预约 | KaiwuDB 离散制造业场景解决方案

KaiwuDB

数据库 KaiwuDB 离线制造业 行业解决发展

浪潮inBuilder低代码平台社区版来了!

inBuilder低代码平台

开源 低代码 企业级低代码平台

Zstandard:一种新的无损压缩算法_语言 & 开发_谢丽_InfoQ精选文章