Zstd:压缩算法的全能选手
创作时间:
作者:
@小白创作中心
Zstd:压缩算法的全能选手
引用
CSDN
1.
https://blog.csdn.net/qq_38428433/article/details/139456366
什么是Zstd
Zstd(Zstandard)是Facebook在2016年开源的一种新型无损压缩算法。其主要优点在于压缩率和压缩/解压缩性能都很突出。
效果对比
下表展示了Zstd与其他一些经典压缩算法的对比效果:
压缩器名称 | 压缩率 | 压缩速度(MB/s) | 解压缩速度(MB/s) |
|---|---|---|---|
zstd 1.5.6 -1 | 2.887 | 510 | 1580 |
zlib 1.2.11 -1 | 2.743 | 95 | 400 |
brotli 1.0.9 -0 | 2.702 | 395 | 430 |
zstd 1.5.6 --fast=1 | 2.437 | 545 | 1890 |
zstd 1.5.6 --fast=3 | 2.239 | 650 | 2000 |
quicklz 1.5.0 -1 | 2.238 | 525 | 750 |
lzo1x 2.10 -1 | 2.106 | 650 | 825 |
lz4 1.9.4 | 2.101 | 700 | 4000 |
lzf 3.6 -1 | 2.077 | 420 | 830 |
snappy 1.1.9 | 2.073 | 530 | 1660 |
从对比结果可以看出,Zstd在压缩率和压缩/解压缩速度方面都表现出色。
Zstd特点
- 全能王:在压缩率和压缩/解压速度方面都有不错的表现。
- 训练模式:Zstd提供了一种新的训练模式,可以通过提供样本数据对算法进行调优。训练结果存储在称为“字典”的文件中,使用该字典可以在小数据上实现更高的压缩率。
实践
命令行使用
# 安装
sudo apt-get install -y zstd
# 压缩文件
zstd {{file}}
# 解压缩文件
zstd -d {{file}}.zst
# 将文件解压缩到标准输出
zstd -dc {{file}}.zst
# 使用指定的压缩等级压缩文件(0 = 最差,19 = 最好,默认等级是 3)
zstd -{{level}} {{file}}
# 使用更多内存以获得更高的压缩比
zstd --ultra -{{level}} {{file}}
SDK演示
在Node.js中,有多个库可以用来处理Zstandard(zstd)压缩:
- node-zstd:这是一个Node.js的本地插件,提供了对Zstandard压缩库的直接访问。
- zstd-codec:这个库提供了Zstandard的纯JavaScript实现,以及一个使用WebAssembly的版本。
- zstd-wasm:这个库是Zstandard的WebAssembly版本,可以在浏览器和Node.js中使用。
- simple-zstd:这个库提供了一个简单的Zstandard压缩和解压缩的接口,使用了node-zstd库。
这里演示一下zstd-wasm的使用方式:
const { init, compress, decompress } = require("@bokuweb/zstd-wasm");
(async () => {
await init();
const compressed = compress(Buffer.from("Hello zstd!!"), 10);
console.log(compressed);
const res = decompress(compressed);
console.log(Buffer.from(res).toString()); // Hello zstd!!
})();
压缩界的真相
在压缩领域,熵值是一个重要的概念。越相似的内容,压缩效率越高;反之,压缩效率低。在Zstd中,如果一组小数据样本中存在相关性,其压缩率就比较高;反之,数据相关性不大,无序混乱不相似,则压缩率较低。
建议
- 对大数据量的文本压缩场景,Zstd是综合考虑压缩率和压缩性能的最优选择。
- 如果追求压缩速度,可以考虑使用lz4。
- 对小数据量的压缩场景,如果能使用Zstd的字典方式,压缩效果更为突出。
热门推荐
厄贝沙坦成降压药首选,最新研究证实效果最佳
双十一选购文玩核桃攻略:从选购技巧到市场行情全解析
范志红揭秘:空气炸锅真的健康吗?
琼瑶剧:将爱情神圣化的国产浪漫剧先驱
巧克力、洋葱等6种食物,蜜袋鼯吃了会生病
婚育率走低折射社会问题,专家建议构建全方位支持体系
解码甄嬛传:一部古代宫廷版的职场进阶指南
揭秘涤纶床单的健康陷阱:透气性差、易滋生细菌,当心引发皮肤问题!
雾凇岛亲子骑行攻略:冬日里的欢乐时光
《英雄联盟》新手必选:盖伦带你轻松上手
《打起手鼓唱起歌》:一首歌,一个时代的记忆
“生吃黄连也算甜”:《黄连》唱响网络,引发全民共鸣
SOLIDWORKS矩形螺旋线绘制教程:从草图到曲面
儿童退烧常用药布洛芬:用量、禁忌与注意事项
高考物理备考神器:错题本
天津首条智能网联公交示范线开通,19路口优化提速47%
汉中高铁站到龙头山:冬季冰雪世界的最佳打开方式
手机蓝牙连接电脑失败?6大原因+5步解决方案
战后遗孤到中国母亲:《小姨多鹤》展现女性坚韧精神
9个问题自测抑郁风险,专家推荐的抑郁症筛查工具
改良版糖醋排骨:无需炒糖色,黄金比例调出完美酸甜味
25分钟一个番茄,轻松破解学习效率低下难题
萍乡打卡最美自然景观,你去过几个?
保留鱼鳞炸至酥脆,天津罾蹦鲤鱼的百年味道
6句甄嬛台词,看透宫廷女子的生存智慧
铁观音茶:冬季养生的明智之选
C1到A1:房车旅行所需驾驶证全解析
中国艾滋病患者超129万,98.5%通过性传播
自贸试验区南宁片区AEO认证观摩实训基地启用
寒假高效学习攻略:时间线管理神器