gzip 和 compress 有什么区别?

gzip 和 compress 有什么区别?

gzip 和 compress 有什么区别?使用压缩功能有什么优点?我可以看到压缩文件的大小差异,但除此之外,主要优点是什么?

答案1

compress 的历史要早得多(1983 年),并且基于 LZW 压缩算法。

Gzip 编写于 90 年代初,基于 DEFLATE 算法。

一般来说,压缩将运行得更快并且使用更少的内存,但 gzip 通常会达到更高的压缩级别。

Unisys 在 20 世纪 90 年代初开始实施的 LZW 也存在专利问题(主要针对也使用 LZW 压缩的 GIF 格式)。 gzip 开发人员打算开发不受专利限制的通用压缩软件。

答案2

TL;DR:gzipcompress.其他工具可能更快/更好,例如pigz更快并且与 gzip 兼容。

我做了一些测试来比较 的压缩级别、压缩时间和解压缩时间gzipcompress只是xz为了了解更多背景信息,这不是全面的压缩工具比较):

File size
|    Percentage of original size
|    |    Time to compress
|    |    |    Time to decompress
|    |    |    |    Method
|    |    |    |    |        Filename
425M 100% -    -    -        Germany_hessen_europe_2.obf
348M  82% 16.8 3.24 compress test.Z
260M  61% 11.8 4.18 gzip -1  test.1.gz
246M  58% n/a  3.88 gzip -9  test.9.gz
226M  53% 69.6 15.6 xz -1    test.1.xz

该文件是德国某个州的地图从 OsmAnd 下载,压缩效果非常好(稍加努力即可压缩 50%)。

简而言之:

  • compressgzip -1压缩时慢,
  • 它也只压缩一半,但是
  • 解压时速度快 29%。

测试方法:我使用了空闲的SSD,I/O不是瓶颈。我用于time cat file | compression > out压缩和time cat file | decompression > /dev/null解压时间。对gzip -1和 的测试compress运行了两次(压缩和解压缩)并给出了非常相似的结果,我取了平均值。gzip -9我只是忘了测量压缩时间,但由于压缩-1时间已经比我想象的要好得多,所以compress回去做这件事不会增加太多。

相关内容