news 2026/6/15 15:35:02

ZSTD压缩算法简单测试

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ZSTD压缩算法简单测试

背景

特性维度

Zlib (DEFLATE)

Zstd (Zstandard)

核心算法

LZ77 + 霍夫曼编码 (诞生于1990年代)

现代LZ变体 + 有限状态熵/tANS (第一版于FaceBook公司发布2016)

设计哲学

寻求压缩率与速度的平衡,侧重于高压缩率。

首要追求速度(尤其是解压速度),同时在高级别提供优秀压缩率。

压缩/解压速度

较慢,尤其是高压缩级别。

极快,通常比zlib快3-10倍,解压速度优势尤其明显。

压缩率

优秀,是行业长期以来的压缩率基准。

与zlib相当或更优。在默认级别,压缩率略低于zlib最高级别,但速度极快;在最高级别,压缩率可以超越zlib。

内存占用

相对较低,可预测。

灵活可调。默认级别略高于zlib,但可以通过参数控制,做到比zlib更低或更高。

创新功能

成熟稳定,功能基础。

  • 训练字典:为特定类型的小数据(如JSON日志、API数据)带来巨大压缩率和速度提升。
  • 可配置的长模式:优化大文件中长重复模式的压缩。

生态与兼容性

几乎所有操作系统、编程语言、工具(如gzip、PNG、HTTP)都内置支持,是事实上的互联网标准。

已被Linux内核、HTTP协议、多种数据库(RocksDB、MySQL)、包管理器(RPM、dpkg)、Hadoop、ZFS等广泛集成和支持。

许可证

zlib许可证,非常宽松。

BSD 3-Clause 或 GPLv2(取决于使用场景),同样非常宽松

测试

对比读取1000MB /var/log/messages日志文件数据,进行压缩对比测试,原始数据

[root@CESHIU-CTST1-1001 lpy]# python test_compress.py 正在从 /root/test-compress/messages-20251220 读取 1000MB 数据... 成功读取 1000.00MB 数据 ============================================================ 进行 zlib 最快压缩 (级别 1)... 进行 zstd 最快压缩 (级别 1)... 进行 zstd 超快速压缩 (级别 -5)... ============================================================ 压缩测试结果对比 ============================================================ 原始数据大小: 1000.00 MB zlib 最快压缩 (级别 1): 压缩后大小: 79.96 MB 压缩比: 0.080 压缩时间: 5.828 秒 压缩速度: 171.59 MB/s zstd 最快压缩 (级别 1): 压缩后大小: 38.87 MB 压缩比: 0.039 压缩时间: 0.943 秒 压缩速度: 1060.58 MB/s 相比zlib速度提升: +518.1% zstd 超快速压缩 (级别 -5): 压缩后大小: 69.96 MB 压缩比: 0.070 压缩时间: 0.841 秒 压缩速度: 1188.53 MB/s 相比zlib速度提升: +592.7% 相比zstd级别1速度提升: +12.1% ============================================================ 性能对比总结 ============================================================ 最快的压缩方法: zstd 级别-5 (0.841秒) 最佳压缩比: zstd 级别1 (压缩后大小: 38.87MB) 存储空间节省: zstd 级别1: 961.13MB (96.1%) zstd 级别-5: 930.04MB (93.0%)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 13:28:36

深度学习计算机毕设之基于python-CNN卷积神经网络对猫是否疲劳识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/6/14 23:51:53

深度学习毕设项目:基于python-CNN卷积神经网络对海洋壳类生物识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/6/14 18:13:48

别急着写 DFS:聊聊《二叉树的所有路径》背后那些容易被忽略的事

别急着写 DFS:聊聊《二叉树的所有路径》背后那些容易被忽略的事 作者|Echo_Wish 一、引子:这道题,真有那么“简单”吗? 如果你刷过 LeetCode,那你大概率见过这道题—— Binary Tree Paths(二叉树的所有路径)。 题目一句话就说完了: 给你一棵二叉树,返回从根节点到…

作者头像 李华
网站建设 2026/6/10 15:58:05

手把手教你:提示工程架构师如何做竞品功能调研?(附分析模板)

手把手教你:提示工程架构师如何做竞品功能调研?(附可复用分析模板) 引言:你做的竞品调研,可能只是“看个热闹” 作为提示工程(Prompt Engineering)架构师,你一定遇到过这样的场景: 产品经理拍着桌子问:“竞品出了个Prompt模板库,我们要不要跟进?” 开发同学皱着…

作者头像 李华