Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Compression ratios for different zlib compression levels

I am considering what level of zlib compression to use, and I am curious about the different compression rates for the different compression levels that can be specified in zlib commands. The zlib manual has the following constants for specifying the compression level:

#define Z_NO_COMPRESSION         0
#define Z_BEST_SPEED             1
#define Z_BEST_COMPRESSION       9
#define Z_DEFAULT_COMPRESSION  (-1)

Clearly, a lower the number means lower latency for compression and deflation at the cost of a less-compressed file, while a higher number favors better compression at the cost of higher latency.

My question is, what compression ratios can be expected for the different compression levels? This zlib web page says, More typical zlib compression ratios are on the order of 2:1 to 5:1 in the context of maximum compression, but are there also compression ratios / ranges for the other compression factors as well?

like image 832
DIMMSum Avatar asked Nov 14 '16 18:11

DIMMSum


1 Answers

There is no answer for your question that is independent of the data. You can predict neither compression ratios, nor ratios of compression ratios just from the respective compression levels. The levels reflect how hard the compressor looks for matching strings in the previous 32K of data. That's all.

like image 113
Mark Adler Avatar answered Oct 23 '22 10:10

Mark Adler