不同 zlib 压缩级别的压缩率

Compression ratios for different zlib compression levels

我正在考虑使用什么级别的 zlib 压缩,我很好奇可以在 zlib 命令中指定的不同压缩级别的不同压缩率。 zlib manual 具有以下用于指定压缩级别的常量:

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

显然,数字越小意味着压缩和通缩的延迟越低,但压缩文件的成本越低,而数字越大,压缩效果越好,但延迟越高。

我的问题是,不同压缩级别的压缩率是多少?zlib web page 表示,更典型的 zlib 压缩率是在最大压缩的情况下按 2:1 到 5:1 的顺序排列,但是否也有其他压缩因子的压缩率/范围?

您的问题没有独立于数据的答案。您既不能预测压缩率,也不能仅从各自的压缩级别预测压缩率的比率。这些级别反映了压缩器在之前的 32K 数据中寻找匹配字符串的难度。就这些了。