【发布时间】:2016-11-14 18:24:29
【问题描述】:
我正在考虑使用什么级别的 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 在最大压缩的情况下,但是否还有其他压缩因子的压缩比/范围?
【问题讨论】:
-
这在很大程度上取决于您压缩的数据。我的经验是,像 JSON 这样的数据使用压缩通常会缩小到 10% 左右,而像 H.264 视频这样的数据根本没有好处。
-
我知道这取决于数据,但是对于给定的数据,我想您仍然可以说“7 级将数据压缩比 8 级少 x”,等等。换句话说,如果您可以给出最大压缩级别的一般范围,我很想知道是否也可以为其他压缩级别规定范围。
标签: zlib compression