Коэффициенты сжатия для различных уровней сжатия zlib


Я рассматриваю, какой уровень сжатия zlib использовать, и мне интересно узнать о различных скоростях сжатия для различных уровней сжатия, которые могут быть указаны в командах zlib. Руководство zlib содержит следующие константы для задания уровня сжатия:

#define Z_NO_COMPRESSION         0
#define Z_BEST_SPEED             1
#define Z_BEST_COMPRESSION       9
#define Z_DEFAULT_COMPRESSION  (-1)
Очевидно, что меньшее число означает меньшую задержку для сжатия и дефляции за счет менее сжатого файла, в то время как большее число способствует лучшему сжатию за счет более высокого задержка.

Мой вопрос заключается в том, какие коэффициенты сжатия можно ожидать для различных уровней сжатия? Эта веб-страница zlib говорит, более типичные коэффициенты сжатия zlib находятся в порядке от 2:1 до 5:1 в контексте максимального сжатия, но существуют ли также коэффициенты сжатия / диапазоны для других коэффициентов сжатия?

1 2

1 ответ:

Нет никакого ответа на ваш вопрос, который не зависел бы от данных. Вы не можете предсказать ни коэффициенты сжатия, ни соотношения коэффициентов сжатия только по соответствующим уровням сжатия. Уровни отражают, насколько усердно компрессор ищет соответствующие строки в предыдущих 32K данных. Это все.