☝🏻 Подняться в начало
Фото аватара

Что эффективнее: LZMA2 vs BZIP2 vs Deflate vs RAR?

Когда возникает необходимость архивации данных, любой архиватор начинает предлагать множество настроек, и даже у подготовленного пользователя однозначно возникнут вопросы о том, какие настройки стоит использовать, для достижения наилучшего результата.

Что эффективнее: LZMA2 vs BZIP2 vs Deflate vs RAR?
Доступные настройки для архивации в 7-Zip

Я провела небольшое сравнение, для того чтобы выявить влияние алгоритма сжатия на получаемый результат. В качестве данных для эксперимента я взяла директорию со своими документами, содержащую в себе как текстовые файлы, так и бинарные данные, в лице изображений, PDF-документов, а также баз данных.

Методика тестирования

В качестве исходных данных была взята директория, содержащая следующие файлы:

Всего — 12,474 файла, объёмом 6,304,104,448 байт.

В качестве программ для архивации данных были использованы:

В данном исследовании мы не будем рассматривать принципы работы каждого из алгоритмов, а также не будем учитывать их временную эффективность. Все алгоритмы были ограничены допустимым использованием ОЗУ для сжатия в 8192 Мб. В качестве уровня компрессии всегда использовался максимально допустимый параметр.

Для контейнера ZIP использовались алгоритмы Deflate и BZIP2. Для RAR — одноименный алгоритм. Для алгоритма LZMA2 использовался контейнер 7z.

Какой алгоритм сжатия оказался эффективнее?

По итогам сжатия я получила следующие результаты:

Что эффективнее: LZMA2 vs BZIP2 vs Deflate vs RAR?
Результаты эксперимента

Не забывайте, что для коэффициента сжатия меньше — значит лучше.

Из этого можно сделать следующие выводы: не стоит использовать контейнер .zip, если в первую очередь вас интересует максимальная эффективность сжатия. Лучше всего использовать контейнеры 7z с алгоритмом сжатия LZMA2, а также RAR с одноименным алгоритмом.