Мне задали вопрос в предыдущем посте:
>> Почему винрар а не 7z?
Что ж, в принципе, и 7-Zip неплох. Я решил провести небольшой тест на текстовых данных. Со времён ФИДО у меня остался мешок книжек в формате TXT, все они занимают 1 442 274 549 байт. Запускаем архиваторы, берём в руки секундомер и заносим данные в табличку (файлы я положил в оперативную память на RAM-диск, чтобы скорость взаимодействия с накопителем не влияла на результаты замеров):
| Архиватор | Алгоритм | Время | Размер | В процентах от исходного |
| NTFS | LZNT1 | 22 | 1 105 735 680 | 76.67% |
| WinRAR | ZIP | 19 | 601 317 655 | 41.69% |
| 7-Zip | ZIP | 78 | 584 979 921 | 40.56% |
| 7-Zip | LZMA2 (словарь 64 KB) | 26 | 550 146 961 | 38.14% |
| WinRAR | RAR5 (словарь 1024 MB) | 38 | 532 099 493 | 36.89% |
| WinRAR | RAR4 (словарь 4 MB) | 33 | 531 779 584 | 36.87% |
| 7-Zip | LZMA2 (словарь 1 MB) | 52 | 484 507 777 | 33.59% |
| WinRAR | RAR5 solid (словарь 4 MB) | 59 | 481 216 360 | 33.37% |
| WinRAR | RAR4 solid (словарь 4 MB) | 59 | 480 618 201 | 33.32% |
| 7-Zip | bzip2 (словарь 900 KB) | 163 | 462 509 488 | 32.07% |
| 7-Zip | LZMA2 (словарь 4 MB) | 95 | 461 167213 | 31.97% |
| WinRAR | RAR5 solid (словарь 1024 MB) | 260 | 454 391563 | 31.51% |
| XZ Utils | LZMA2 (словарь 8 MB) | 114 | 452 604680 | 31.38% |
| XZ Utils | LZMA2 (словарь 64 MB) | 257 | 426 920108 | 29.60% |
| 7-Zip | LZMA2 (словарь 128 MB) | 286 | 421 084095 | 29.20% |
| 7-Zip | LZMA2 (словарь 192 MB) | 290 | 419 500609 | 29.09% |
| 7-Zip | LZMA2 (словарь 512 MB) | 575 | 410 942499 | 28.49% |
| XZ Utils | LZMA2 (словарь 1536 MB) | 1927 | 391 310940 | 27.13% |
| 7-Zip | LZMA2 (словарь 1536 MB) | 1535 | 391 023 687 | 27.11% |
| 7-Zip | PPMd (словарь 1024 MB) | 407 | 365 934 524 | 25.37% |
Комментарии к табличке:
0. Везде, где можно, была включена многоядерность. Особенность алгоритма LZMA2 в том, что чем больше ядер он использует, тем больше памяти требует, а у меня на домашней машине только 32 гига установлено.
1. Внутри хвалёного XZ находится банальный LZMA2. Я сначала делал тесты 7-Zip'ом, потом скачал консольный XZ Utils (xz-5.2.9-windows) и архивировал уже им. Сравнение 7-Zip и XZ Utils напрямую было только при размере словаря в 1536 MB. 7-Zip жмёт быстрее. Но всё равно, неприлично долго. Такова жизнь.
2. Видно, что при сжатии чисто текстовых данных на естественном языке LZMA2 со словарём в 8 MB жмёт в почти такой же размер, как и WinRAR со словарём в 1024 MB, но быстрее (более, чем в два раза).
3. Ну а алгоритм PPMd, который можно включить в 7-Zip, рвёт всю эту братию в клочья, потому что был создан специально для сжатия текстов на естественных языках.
Короче, выборка нерепрезентативна, результаты более-менее очевидны, я устал, я ухожу, а это была очень ценная информация, которую вы должны были узнать в субботу вечером ))
Интересно будет провести тест на другом наборе данных..
Для ЛЛ: в посте рассказано, какие кнопки тыкать в WinRAR'е, чтобы получить максимальное сжатие.
Проблема свободного места на HDD / SSD для большинства людей вообще не является проблемой. "Пф, чё там думать, удали порно лишние файлы / купи диск побольше и забудь о проблеме".
Ну а что делать, если всё лишнее уже удалено, а места всё равно не хватает? Всё просто: нужно заархивировать данные, которые важны, но не нужны прямо сейчас.
При архивации данные не просто упаковываются в архив, но ещё и "сжимаются", т. е. данные из файла перегруппировываются таким образом, чтобы занимать как можно меньше места (если кому-то будет прям ОЧЕНЬ интересен механизм, я могу написать длиннопост об этом. Пишите в комментах)
Пример данных, которые можно и нужно архивировать:
— результаты симуляции математических моделей. Иногда репорты занимают по полтерабайта, а удалять нельзя.
— исходные коды программ. Папки со старыми проектами спокойно могут полежать в архиве, ведь удалять жалко, сам же писал бессонными ночами.
— книги / документация. К сожалению, в 2023 году уже не всё можно скачать в Интернете, поэтому их тоже удалять не будем, а заархивируем.
Что не подходит для архивации (в общем случае):
— музыка;
— фильмы;
— фотографии в популярных форматах.
Такие файлы практически не сжимаются, потому что они как бы уже были сжаты на этапе создания.
Что ж, ближе к делу. Для архивирования нам понадобится программа-архиватор. Пользоваться мы будем условно-платным WinRAR'ом, который лежит тут:
(через некоторое время после установки он начнёт просить денег, но ненавязчиво, поэтому и условно-платный)
Скачиваем, устанавливаем. По умолчанию WinRAR интегрируется в систему, поэтому выбираем файл / папку для архивирования, жмём правой кнопкой мыши и выбираем пункт меню "Add to archive..." (или что-то типа того. Если вы скачали русификатор с того же rarlab.com, то названия пунктов меню будут отличаться от нижеприведённых скриншотов).
Как же настроить архивацию на максимальное сжатие? Предлагаются следующие настройки:
1. В поле "Archive name" будет автоматически созданное имя для вашего архива, здесь ничего менять не нужно (обычно).
В Поле "Archive format" нужно указать формат будущего архива. Формат ZIP поддерживается практически везде и всюду, но степень сжатия при использовании такого формата невысокая. RAR4 — старый формат WinRAR'а, он тоже не подходит для общих целей. Остаётся один вариант, RAR.
2. Для "Compression method" устанавливаем значение "best", для "Dictionary size" — максимально возможное значение (1024 MB). Этот параметр сильно влияет на коэффициент сжатия. В старых версиях WinRAR'а размер словаря был неприлично низким (4 MB), поэтому WinRAR был немного потеснён 7-Zip'ом. Но начиная с пятой версии (со словарём в гигабайт) WinRAR сжимает быстро и качественно.
3. Флаг "Create solid archive" заставляет интерпретировать все файлы, добавляемые в архив, как один большой файл. Эта опция помогает ещё сильнее сжать файлы:
4. Ещё я крайне рекомендую ставить флаг "Add recovery record". При установке этой опции архиватор добавляет в архив некоторую избыточную информацию, которая поможет восстановить данные в случае, если архив будет немного повреждён. Размер этой информации (в процентах от размера архива) указывается на вкладке "Advanced":
Но использование этой опции не обязательно. Если вы уверены на 100% в своих носителях информации, то эту опцию можно не включать.
Жмём OK и ждём, когда архив упакуется.
Каких результатов ждать на практике? Виртуальная машина в архиве занимает в 4 раза меньше места; архив с разными дизайнерскими проектами — в 2,5 раза меньше; книги в формате fb2 — в 5 раз меньше. Итоговый результат зависит от архивируемого содержимого, но, в любом случае, предложенный инструмент поможет сэкономить вам место на ваших носителях.