我需要选择压缩算法

chi*_*hiz 6 language-agnostic compression algorithm

我需要选择压缩算法来压缩一些数据.我不知道我将提前压缩的数据类型(想想它有点像WinRAR程序).

我听说过以下算法,但我不知道应该使用哪种算法.任何人都可以发布一份简短的利弊列表吗?对于我的应用,首要任务是减压速度; 第二个优先事项是节省空间.压缩(不是解压缩)速度是无关紧要的.

  • 放气
  • 简单的霍夫曼
  • bzip2的
  • LZMA

Tho*_*ini 10

我运行了一些压缩.tar的基准测试,其中包含高熵数据和文本的混合.这些是结果:

Name  - Compression rate* - Decompression Time
7zip  - 87.8%             - 0.703s
bzip2 - 80.3%             - 1.661s
gzip  - 72.9%             - 0.347s
lzo   - 70.0%             - 0.111s

*Higher is better

由此我得出结论,算法的压缩率取决于其名称; 按字母顺序排列的第一个将是具有最佳压缩率的那个,依此类推.

因此,我决定重新命名lzo1lzo.现在我有了最好的算法.


编辑:值得注意的是,所有这些lzo都是唯一一个具有非常严格的许可证(GPL):(


Ign*_*ams 5

如果您需要高减压速度,那么您应该使用LZO.它的压缩速度和比例都不错,但很难超过它的减速速度.