best compression algorithm with the following features

不问归期 提交于 2019-12-24 06:40:13

问题


What is the best compression algorithm with the following features:

  • should take less time to decompress (can take reasonably more time compress)
  • should be able to compress sorted data (approx list of 3,000,000 strings/integers ...)

Please suggest along with metrics: compression ratio, algorithmic complexity for compression and decompression (if possible)?


回答1:


Entire site devoted to compression benchmarking here




回答2:


Well if you just want speed, then standard ZIP compression is just fine and it's most likely integrated into your language/framework already (ex: .NET has it, Java has it). Sometimes the most universal solution is the best, ZIP is a very mature format, any ZIP library and application will work with any other.

But if you want better compression, I'd suggest 7-Zip as the author is very smart, easy to get ahold of and encourages people to use the format.

Providing you with compression times is impossible, as it's directly related to your hardware. If you want a benchmark, you have to do it yourself.




回答3:


You don't have to worry about decompression time. The time spent the higher compression level is mostly finding the longest matching pattern.

Decompression either

1) Writes the literal 
2) for (backward position, length)=(m,n) pair, 
   goes back, in the output buffer, m bytes, 
   reads n bytes and 
   writes n bytes at the end of the buffer.

So the decompression time is independent of the compression level. And, with my experience with Universal Decompression Virtual Machine (RFC3320), I guess the same is true for any decompression algorithm.




回答4:


This is an interessing question. On such sorted data of strings and integers, I would expect that difference coding compression approaches would outperform any out-of-the-box text compression approach as LZ77 or LZ78 in terms of compression ratio. General purpose encoder do not use the special properties of the data.



来源:https://stackoverflow.com/questions/386930/best-compression-algorithm-with-the-following-features

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!