工具介绍主要介绍zstd工具的功能和性能测试。我们称Zstandard或Zstd为快速无损压缩算法,是一种zlib级别的实时压缩方案,具有更好的压缩比。它包含一个非常快的熵阶段,由Huff0和FSE库提供。该项目作为BSD许可库和用于生成和解码.zst格式的库是开源的。性能测试对比Zstd也可以以牺牲压缩速度为代价提供更强的压缩比,SpeedvsRtrade可以小增量配置。解压缩速度在所有设置中保持不变,并且在所有LZ压缩算法(如zlib或lzma)共享的属性中保持不变。以前的压缩方法适用于典型的文件和二进制压缩方案(MB/GB)。但是,要压缩的数据量越小,就越难压缩。这是所有压缩算法都存在的问题,因为它们从过去的数据中学习如何压缩未来的数据。但是在新数据集开始时,没有“过去”可供参考。为了解决这种情况,Zstd提供了一种新的训练模式,可以针对选定的数据类型调整算法。训练Zstandard是通过提供一些样本(每个样本一个文件)来实现的,训练的结果存储在称为“字典”的文件中,在压缩和解压缩之前必须加载这些文件。使用这个字典,大大提高了在小数据上可以达到的压缩率。以下示例使用由github公共API创建的github用户样本集。它由大约10K条记录组成,每条记录大约1KB。如果一小组数据样本之间存在某种相关性,则小数据压缩训练案例是有效的。字典对其数据越具体,它的效率就越高(没有通用的字典)。因此,为每种类型的数据部署一个字典将提供最大的好处。词典增益在前几个KB中最有效。然后,压缩算法将逐步使用先前解码的内容来更好地压缩文件的其余部分。字典压缩用法示例#训练字典$zstd--trainFullPathToTrainingSet/*-odictionaryName#用字典压缩$zstd-DdictionaryNameFILE#用字典解压$zstd-DdictionaryName--decompressFILE.zst主要提供客户端工具参数命令介绍zstd工具的安装和所有参数命令的安装方法#Ubuntu$aptinstallzstd#CentOS$yuminstallzstd#编译安装$gitclonehttps://github.com/facebook/zstd.git$cdzstd;制作;sudomakeinstallparameter$zstd--helpusage:zstd[args][FILE(s)][-ofile]参数选项:-#:压缩级别(1-19,默认值为3)-d:解压-Dfile:将文件用作字典-ofile:将结果存储在文件中-f:覆盖输出和(解压缩)zip链接而不提示--rm:成功解压后删除源文件-k:保存源文件(默认)-h/-H:显示帮助/长帮助并退出高级选项:-V:显示版本号并退出-v:详细模式-q:静默输出-c:强制写入标准输出-l:输出存档中的zstd信息--ultra:启用morethan19levels,upto22levels(requiresmorememory)-T#:使用多个线程进行压缩(默认:1)-r:递归操??作目录--format=gzip:压缩文件为.gz格式-M#:设置解压缩的内存使用限制字典生成器:--train##:从一组训练文件创建字典--train-cover[=k=#,d=#,steps=#]:使用带有可选参数的覆盖算法--train-legacy[=s=#]:有选择地使用legacyalgorithm(default:9)-ofile:"file"是字典名(default:dictionary)--maxdict=#:限制要引用的字典固定大小(默认值:112640)--dictID=#:强制字典ID为指定值(默认值:随机)性能测试参数:-b#:基准测试文件,使用#compressionlevel(默认为1)-e#:从-bX到#测试所有压缩级别(默认值:1)-i#:以秒为单位的最短计算时间(默认值3s)-B#:将文件分成大小#个独立块(默认值:无块)--priority=rt:设置进程优先级为实时使用技巧主要介绍zstd工具的一些使用示例和参数说明简单使用#将一个文件压缩成后缀为.zst的新文件#如果没有文件或者文件在命令后面如果是-,读取标准输入$zstdfile#压缩操作后删除源文件#默认情况下,压缩或解压成功后不会删除源文件$zstd--rmfile#解压zstarchive$zstd-dfile.zst#解压zst压缩包到标准输出$zstd-dcfile.zst#查看zst压缩包$zstd-lfile.zst$zstdcatfile.zstadvancedusage#输出详细信息$zstd-vfile$zstd-v-dfile.zst#压缩一个文件,同时指定压缩级别(19最高,0最低,默认3)$zstd-levelfile$zstd-9file#使用更多的内存(压缩和解压)来达到更高的压缩率$zstd--ultra-levelfile#解压成一个进程#多个进程并发执行压缩过程(0表示自动使用所有CPU核心)$zstd-T0file$zstd-T4file$zstd-T4-dfile.zstAuthor:转义链接:https://www.escapelife.site/p...版权声明:本博客所有文章除特别声明外均采用CCBY4.0许可协议
