这是关于常见压缩方法的基准测试介绍,主要内容如下:
- Introduction(介绍):涵盖最常见压缩方法,针对低级 C 库及可用标志进行测试,众多压缩器及其相似性易致混淆,压缩器由算法、存档格式和工具库三部分组成,算法家族是最关键特征,C 库优化后性能更好,如 gzip 基于 deflate ,同时要根据实际情况测试实现。
- Use Cases(使用场景):将压缩器分为慢、中、快三类,慢算法(如 LZMA 等)适合单次压缩多次解压,中算法(如 deflate、zstd)适合节省存储空间和网络传输,快算法(如 lzo、lz4、snappy)适合降低存储等开销并提高应用效率。
- Balance(平衡):压缩越慢压缩比越好,但不应为节省几兆字节浪费大量时间,要在两者间找到平衡,同时要考虑内存使用,强压缩通常会增加内存使用,如 LZMA 在强压缩时内存需求大,限制了其在低端设备上的使用。
- Evolution(进化):过去几十年压缩技术进步不大,deflate、lzma 和 lzo 等起源于 90 年代甚至 70 年代,谷歌和 Facebook 有人从事压缩工作,如 Facebook 推出的 zstd 和 lz4 性能优异,压缩比优于 gzip 且压缩速度快,它们有多种压缩级别可调整速度和压缩比,而 gzip 的可调级别范围有限。
Configuration(配置):
- Choose a dataset(选择数据集):不同编解码器对不同数据表现不同,此基准测试针对多种标准数据集,默认数据集随机选择。
- Choose a machine(选择机器):默认机器随机选择,提供机器相关信息的链接。
- Results(结果):包括压缩比与压缩速度、解压速度等的对比,还给出了最优编解码器等内容,提供了访问原始数据的方式。
- FAQ(常见问题):包括是否添加特定编解码器、是否包含专有编解码器、值如何计算、内存使用、时间类型、多线程、对数刻度、比较机器或数据集、库性能、添加机器或编译器标志、运行时间、浏览器兼容性、获取原始数据、链接到特定配置等问题的解答。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。