先天性耳畸形

首页 » 常识 » 常识 » 速度快,性能好压缩神器zstd
TUhjnbcbe - 2021/4/14 19:49:00
可以治疗白癜风吗 http://www.czktmy.com/m/

点击下方“民工哥技术之路”,选择“设为星标”

回复“”获取独家整理的学习资料!

工具介绍

主要介绍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--de

1
查看完整版本: 速度快,性能好压缩神器zstd