Блоги Блоги 22.11.2010 в 11:38 comment

Эффективность сжатия разными архиваторами на одном показательном примере

author avatar
https://secure.gravatar.com/avatar/5c644b6dc190f047798b827d63592871?s=96&r=g&d=https://itc.ua/wp-content/uploads/2023/06/no-avatar.png *** https://secure.gravatar.com/avatar/5c644b6dc190f047798b827d63592871?s=96&r=g&d=https://itc.ua/wp-content/uploads/2023/06/no-avatar.png *** https://itc.ua/wp-content/themes/ITC_6.0/images/no-avatar.svg

Картинка «для чего нужны современные архиваторы». Также на ней показана эффективность сжатия в формат ZIP разными архиваторами и методами. Замеры скорости не приведены, там отдельная большая история.  

 

Архивация драйверов NVIDIA GeForce

 

По долгу службы мне регулярно приходится сжимать драйверы NVIDIA и очень желательно, чтобы они занимали как можно меньше места. Драйверы существуют отдельно в версиях для ноутбучных и ПК-видеокарт, для новых Windows Vista/7 и старой Windows XP, для 32-х и 64-разрядных ОС, всего 8 вариантов. Предварительно драйверы надо распаковать из дистрибутива, т.к. в таком виде пытаться пережимать их бессмысленно. Внутри распакованного некоторые файлы еще раз заархивированы CAB-сжатием Microsoft (файлы DL_, EX_, фактически формата ZIP), их также надо распаковать.

Раздолье для архиватора в том, что в 8 дистрибутивах полно похожих или вообще одинаковых файлов. Многие DLL-ки и EXE-шники повторяются по 2-4 раза, а то и чаще, например, немаленький дистрибутив PhysX повторяется все 8 раз. Значит, если архиватор в состоянии понять, что файлы одинаковые, то в ряде случаев мы получим значительную выгоду — восьмикратную и даже чуть больше (оставляем один файл из восьми да еще и сжимаем его).

Курс Frontend розробки від Mate academy.
Front-end розробник одна з найзатребуваніших професій на IT ринку. У Mate academy ми навчимо вас розробляти візуально привабливі та зручні інтерфейси. Після курсу ви зможете створювати вебсайти і застосунки, що вразять і користувачів, і роботодавців.
Дізнатися більше про курс

Если я правильно понимаю принцип, архиватор сможет «распознать» идентичность двух файлов, когда они полностью помещаются в его «словаре». То есть для сжатия двух 10-мегабайтных файлов с двукратной эффективностью нужен словарь в 20 МБ. У классического ZIP-сжатия словарь ограничен 32 КБ, WinRAR поддерживает не более 4 МБ, 7-Zip в максимальном режиме «Ультра» предлагает 64 МБ. В 7-Zip при LZMA-сжатии можно выбрать словарь до 1024 МБ, но для обработки такого массива данных понадобится 12 ГБ оперативной памяти. Для системы с 4 ГБ памяти реально выбрать словарь в 256 МБ, что потребует менее 3 ГБ ОЗУ.

В драйверах NVIDIA присутствуют повторяющиеся дистрибутивы по 58 МБ. Значит даже 7-Zip в режиме «Ультра» (словарь 64 МБ) уже не хватает. Приходится вручную увеличивать объем словаря, результат сразу виден на графике.

Конечно, данная ситуация нетипична и при повседневном использовании такого безумного превосходства 7-Zip не будет. Хотя его метод LZMA действительно сжимает в 7z заметно лучше RAR, а уж про ZIP вообще пора давно забыть.


Loading comments...

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: