网站首页 > 精选文章 正文
zstd (Zstandard) 是 Facebook 开发的一种无损压缩算法,最大的优势就是具有极快的压缩和解压速度,同时还有着不错的压缩率。目前 zstd 已经有了越来越多的应用,Arch Linux 也已经开始转用 zstd 作为安装包压缩格式了。
安装 zstd
因为 Arch Linux 的安装包已经使用了 zstd 格式,所以只要更新过系统,就默认已经安装过了 zstd。其它 Linux 发行版可以使用各自的包管理工具安装。
验证安装:
$ zstd -V
*** zstd command line interface 64-bits v1.4.4, by Yann Collet ***
使用 tar 压缩解压 *.tar.zst 文件
比较新的 tar 已经内置了对 zstd 的支持:
$ tar --help
...
--zstd filter the archive through zstd
...
解压
$ tar --zstd -xf data.tar.zst
也可以让 tar 根据扩展名 .zst 来自动推断压缩格式:
$ tar -xf data.tar.zst
压缩
$ tar --zstd -cf data.tar.zst data_to_compress
通过 -a 选项可以让 tar 根据扩展名来自动推断压缩格式:
$ tar -caf data.tar.zst data_to_compress
如果需要改变压缩率,可以设置 ZSTD_CLEVEL 环境变量,范围 1-19, 默认值是 3。值越大,压缩率越高,当然压缩时间也越长。
$ ZSTD_CLEVEL=10 tar -caf data.tar.zst data_to_compress
比较各种压缩命令
这里通过 tar 来进行压缩速度和压缩率的比较。 测试数据使用 Go Linux 安装包 解压后的目录,解压后大小为 326 MB。此数据并不代表所有情况,具体性能还依赖于数据本身。
压缩使用以下命令:
$ tar -caf test.tar.gz go
$ tar -caf test.tar.bz2 go
$ tar -caf test.tar.xz go
$ tar -caf test.tar.zst go
$ ZSTD_CLEVEL=10 tar -caf test_10.tar.zst go
$ ZSTD_CLEVEL=19 tar -caf test_19.tar.zst go
解压使用命令:
$ tar -xf test.tar.zst
...
结果如下:
压缩工具 | 压缩后大小 | 压缩时间 | 解压时间 |
gzip | 118 MB | 20.96 s | 3.77 s |
bzip2 | 109 MB | 46.46 s | 26.25 s |
xz | 87 MB | 208.85 s | 7.97 s |
zstd | 115 MB | 4.45 s | 2.05 s |
zstd -10 | 105 MB | 31.84 s | 2.16 s |
zstd -19 | 93 MB | 233.41 s | 2.21 s |
大致可以看出 zstd 在解压速度上是最快的,相比 gzip 还有更好的压缩率。xz 是压缩率最高的,不过压缩非常慢,解压也比较慢。而解压最慢的是 bzip2。
所以在性价比上 zstd 还是有很大优势的,尤其是在追求解压速度的时候。
转载地址:https://zhaoxh.cn/post/2020/zstd-compression/
猜你喜欢
- 2024-12-13 MySQL自动部署搭建脚本只需上传安装包即可
- 2024-12-13 nagios监控服务器的搭建
- 2024-12-13 Linux|如何安装和运行多个 glibc 库
- 2024-12-13 linux??如何编译安装软件?我来告诉你
- 2024-12-13 WinRAR(32 bit) 5.20 简体中文版
- 2024-12-13 区块链教程(一):前置知识-linux补充
- 2024-12-13 玩openwrt的基础
- 2024-12-13 搭建简易堡垒机
- 2024-12-13 Linux云计算面试&学习必备知识汇总(二)
- 2024-12-13 Linux下用rm误删除文件的三种恢复方法
- 05-3022《Vue 入门教程》VueRouter 路由嵌套
- 05-30前端面试题-Vue 项目中,你做过哪些性能优化?
- 05-30超简 Vue3+elementPlus 后台管理系统
- 05-30还有前端不知道Electron的?手把手教你把Vue项目打包成桌面程序
- 05-30Nuxt最简入门,让vue项目快速被搜索引擎收录
- 05-30Mac上最美最好用软件系列
- 05-30AI编程小白必备|Cursor安装及配置教程
- 05-30好玩儿的编程语言——文言文编程语言
- 最近发表
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)