День добрый подписчики и читатели моего канала, сегодня я решил разобраться в вопросе сжатия файлов архиватором 7-Zip.
Начнем с того что в одной из статей на одном из каналов, началась "Священная война" - простыми словами "холивар", а если и это слово разжевать, то непримиримые прения(борьба) разных сторон баррикад.
Такое часто бывает, например:
- "Что лучше AMD или Intel?"
- "Серверный процессор или десктопный?"
- "Б/У комплектующие или только новые?"
- "Какие видеокарты лучше Nvidia или AMD?"
Надеюсь мысль вы уловили, так там завелась борьба о том какой архиватор лучше, "7-zip или Winrar", мой выбор очевидно 7-Zip.
И на фоне этой бессмысленной и беспощадной борьбы, я решил провести тестирование и начал с мною уважаемого архиватора 7-Zip.
У данного архиватора существует множество настроек, которые можно было бы слегка упростить, впрочем крутилки мне нравятся.
Создание архива выглядит следующим образом:
Имеются различные форматы архива, различные уровни сжатия/пресеты(заданные разработчиком настройки на сжатие), различные методы сжатия, ну и разумеется: Размер словаря, Размер слова, Размер блока, и число потоков.
В случае с размером словаря/слова/блока и числом потоков, чем показатели выше, тем выше уровень сжатия.
Мы будем рассматривать различные методы сжатия и два формата архива.
Методы сжатия:
- PPMd
- LZMA
- LZMA2
- BZip2
- Deflate
- Deflate64
И форматы архива:
- .7z
- .Zip
Надеюсь я вас не сильно утомил, потому как мы ознакомились только с интерфейсом и я подвожу вас к конкретным тестам и цифрам😀.
Да здравствуют цифры, да здравствуют счеты!
Всего я выделил 4 микро-группы, это Текстовые файлы, Исполняемые файлы, Фото, Видео.
Суммарно все эти файлы имеют размер: 45,3 МБ (47 528 602 байт).
Ко всей этой группе я применил различные методы сжатия и различные форматы архива, и в результате таких архиваций я нашел лучший метод сжатия, а имя ему LZMA2 , ой ну не удивительно, это оптимизированная и отполированная версия LZMA, ну и разумеется формат файла 7z.
Сразу поясню что такое "По умолчанию", это стандартные методы сжатия с готовыми настройками, если мы архивируем что либо не настраивая размер словаря/слова/блока и так далее. "Макс" это максимальные настройки для сжатия файлов.
С пресетами от разработчика все не однозначно, и в принципе "Уровень сжатия Ультра" практически лучший вариант для сжатия файлов.
И да, и нет.
Да, потому что достигаем результата путем приложения больших усилий, но не максимальных.
Нет, потому что выкрутив все настройки на максимум, конечно понадобится больше ресурсов компьютера, но и размер будет меньше.
На сколько меньше будет размер архива, если использовать Уровень сжатия "Ультра" и Уровень сжатия "Свой на максимум", ну не прямо таки на много:
Вообще это не правильно рассматривать архивацию нескольких форматов файлов в один архив.
Впрочем если вас интересовал ответ на заголовок, то он был чуток выше, повторюсь это LZMA2 с "максимальными настройками".
Если же считаете что тема еще открыта и готовы разбираться дальше, то не буду отвлекать от чтения. 🤗
Разные методы сжатия под разные задачи сделаны, а поэтому представляю вашему вниманию 4 микро-группы с разными методами сжатия, без регистрации и смс!
Текстовые файлы: С незначительным отрывом выигрывает метод сжатия LZMA и формат файла 7z, а отрыв составил 2 байта.
Исполняемые файлы: С относительно значимым отрывом выигрывает метод сжатия LZMA2 и формат файла 7z, отрыв составил 36 килобайт, или 37 027 байт.
Фото: Тут уже не все так очевидно и выигрывает метод сжатия PPMd и формат файла zip, отрыв составил 66 килобайт, или 67 663 байт.
Видео: И тут результат слегка неожиданный, выигрывает метод сжатия Deflate64 и формат файла zip, отрыв составил 149 байт.
Дабы вопросов было меньше о подруктках и накрутках публикую все на Яндекс диске, все методы сжатия использовались с максимальными настройками. Ссылка на скачивание. Пароль: test
В дальнейшем если, тема будет развиваться, собираюсь сделать подробный отчет, со всеми имеющимися видео форматами, фото форматами, текстовыми документами и различными исполняемыми файлами.
Что-бы приблизить это, вы можете поставить лайк и написать комментарий!