Даже в наш век CD/DVD-рекордеров и крупнокалиберных винчестеров, емкость которых уже измеряется десятками и даже сотнями гигабайт, проблема сжатия малоиспользуемой информации остается актуальной. Но при богатом выборе программ-архиваторов далеко не все из них работают действительно эффективно. В данной статье мы рассмотрим и протестируем наиболее популярные архиваторы и дадим свои рекомендации по их выбору.
Но вначале несколько слов о том, насколько эффективно сжимаются файлы различных форматов. Очень хорошо архивируются графические файлы в формате *.bmp (на 80--85%) и документы MS Office (в среднем на 60%), немного хуже -- Web-страницы (40--50%). Для исполняемых файлов этот показатель варьируется (~50% в зависимости от архиватора) и в большинстве случаев довольно низкий, так как они обычно уже сжаты программистами с помощью специальных утилит вроде UPX или ASPack. Архивирование практически не влияет на размер сжатых файлов (графические файлы в формате *.gif и*.jpg, DivX-фильмы, образы CD и т. д.). Реальный интерес для пользователя представляет компрессирование только офисных документов и сохраненных Web-страниц, а фильмы и фотоальбомы намного проще записать на CD/DVD -- экономия времени и места на винчестере будет на два порядка выше, чем при попытке их заархивировать. Что же касается игровых демо-версий/программ, то лучший способ их хранения -- в виде созданных разработчиками инсталляционных файлов, которые намного удобнее и практичнее, нежели самодельный архив, пусть даже и на 20% меньший по размеру.
WinZip 9.0 Beta 3
Классический пример несоответствия "дутой" популярности и результативности работы. Несмотря на то что WinZip уже который год подряд -- один из лидеров по количеству загрузок на сайте Download.com, программа архивирует хуже некуда (см. врезку) и по всем параметрам является несомненным аутсайдером. Из немногочисленных плюсов этого архиватора следует отметить лишь довольно высокую скорость работы да просто невероятную популярность формата *.zip среди пользователей. Именно благодаря последнему WinZip де-факто стал стандартом в данной области, и на него равняются все другие архиваторы.
Новая, девятая по счету версия WinZip, находящаяся в состоянии перманентной беты, наконец-то обзавелась улучшенным алгоритмом сжатия enhanced deflate и новой, 128- и 256-битной технологией шифрования архивов. И если толку от первого маловато (выигрыш составляет считанные доли процента), то второе нововведение является огромным шагом вперед -- предыдущая защита архивов Zip 2.0 "взламывалась" буквально с полпинка. Естественно, в обоих случаях на ПК адресата должна быть установлена 9-я версия WinZip либо последние обновления альтернативных архиваторов -- ни о какой обратной совместимости речь уже не идет.
WinZip весьма ограничен в поддержке других форматов: кроме самого Zip, программа может распаковывать CAB, Microsoft Compress, GZip, TAR, UUencode, XXencode, BinHex и MIME, а после подключения внешних программ -- еще и ARC, ARJ и LZH. Полностью (чтение и компрессия) поддерживается лишь Zip. Да, просто великолепная интеграция этого архиватора с Windows заслуживает высших оценок, равно как и множество других функций вроде автоматической инсталляции ПО из архивов, проверки их на наличие вирусов с помощью любого установленного в системе антивируса и т. д. Однако все это не может "перекрыть" его недостатки -- в частности, неэффективный алгоритм работы. Чего уж тут говорить, если даже программы от сторонних разработчиков, для которых Zip является отнюдь не основным форматом, зачастую архивируют в него лучше, чем сам WinZip!
Параметры, влияющие на качество сжатия
Для самого эффективного сжатия данных недостаточно выбрать в архиваторе лишь пункт меню "Максимальное". Существует еще много дополнительных параметров, которые иногда обеспечивают двукратный выигрыш в компрессии. Здесь мы рассмотрим их на примере одного из самых эффективных архиваторов -- WinRar. WinAce 2.5
До выхода третьей версии WinRAR именно WinAce удерживал пальму первенства среди архиваторов по качеству сжатия данных. Набор функций в программе очень и очень неплох: полная поддержка ACE, ZIP, LHA, MS CAB, Java JAR, GZip, TAR, GZipped TAR и частичная (только распаковка) RAR, ARC, ARJ, BZip2 и ISO-образов. Кроме того, WinAce позволяет создавать многотомные архивы в форматах ACE, ZIP и CAB. Для улучшения сжатия графических и звуковых, равно как и исполняемых (*.ехе) файлов, в архиваторе реализованы дополнительные алгоритмы мультимедиакомпрессии, а для всех остальных типов данных -- дельта-сжатие. Изюминкой этого архиватора является встроенный просмотрщик множества по-пулярных форматов графических файлов, HTML-страниц и ASCII-файлов (в кодировке DOS). Естественно, поддерживаются и создание непрерывных архивов (подробнее см. вставку), что проявляется в дополнительной (до 50%!) экономии места, большой размер словаря (до 4 MB), проверка на целостность всех знакомых программе форматов, "ремонт" ACE и ZIP-архивов и многое другое. Кроме того, можно конвертировать архивы различных форматов в АСЕ для уменьшения их размера, а с помощью внешнего модуля SFX-Factory даже создавать инсталляции на их основе. Добавьте к этому отличную интеграцию WinAce с оболочкой Windows, автоматическую инсталляцию программ из архивов -- и этот архиватор получает заслуженные 5 баллов. К сожалению, формат ACE мало распространен среди пользователей, и в ближайшее время ему не грозит стать "убийцей" ZIP, но у него еще все впереди...
PowerArchiver 2003 v.8.70
Первое, что приходит в голову при знакомстве с этой программой: "Вот так и должен выглядеть WinZip!". PowerArchiver "знает" 17 различных форматов архивов, причем полностью (упаковка/распаковка) поддерживаются Zip, BH (BlackHole), Tar, Lha и Cab, распространенные в Internet форматы файлов UUencode, XXencode, Base64(MIME) и yENC, а остальные (RAR, Arj. Arc, Ace, Zoo, GZip, BZip2) могут только читаться/распаковываться. Встроенный вьювер позволяет "на лету" просматривать TXT, RTF и все популярные форматы графических файлов прямо в архиве, а менеджер FTP-соединений -- тут же загружать скомпрессированные данные на FTP-серверы. Кроме того, Power-Archiver предлагает пользователю 5 различных методов шифрования особо секретных данных и новый алгоритм сжатия Deflate64, которым недавно обзавелся и WinZip 9.0.
Остальной набор функций стандартен: конвертирование различных архивов в Zip, Cab, Lha, BH и Tar (т. е. те, которые полностью поддерживаются программой), отличная интеграция с Windows, возможность создания многотомных Zip-архивов и множество других. Особой гордостью авторов программы является то, что она получила сертификат от Microsoft как ПО, оптимизированное под Windows XP, со всеми вытекающими отсюда "последствиями", а именно -- поддержкой тем Windows XP и "шкур" популярной программы для переделки интерфейса этой ОС, WindowBlinds. Да и сам PowerArchiver может похвастаться массой собственных скинов, призванных полностью изменить его внешний вид. Таким образом, программа оставляет приятное впечатление, но если бы ей еще поддержкой RAR обзавестись...
WinRAR 3.30
Лучший архиватор для Windows не нуждается в особой рекламе -- с такими потрясающими результатами работы популярность ему обеспечена. Итак, WinRAR позволяет распаковывать архивы CAB, ARJ, LZH, TAR, GZip, ACE, UUE, BZ2, JAR и ISO-образы, а компрессия данных возможна в форматы ZIP и RAR. Размер архивов практически не ограничен и составляет на сегодня 9000 петабайт (1018 байт) -- напомним, что в WinZip он до недавнего времени был равен 4 GB. Кроме того, поддер-живаются права доступа и потоки данных в файловой системе NTFS, что дополнительно улучшает процессы создания и распаковки архивов. Очень высокий выигрыш в размере (10--50%), особенно при архивировании большого количества малых файлов, получается при использовании опции создания непрерывных (solid) архивов; не последнюю роль в компрессии данных играет и большой размер словаря (см. во врезке). Разумеется, присутствует и возможность создания многотомных, а также самораспаковывающихся архивов, защита их паролями, блокировка архивов для предотвращения их изменений в будущем и т. д. В новой версии программы появилась опция "проверить архив на вирусы". Ну а для новичков, делающих первые шаги в ознакомлении с программным обеспечением своего ПК, предназначен режим Wizard, с помощью которого буквально в одно касание производятся все операции над архивами.
Но этим отнюдь не ограничиваются все возможности WinRAR. За кадром остались конвертирование не-RAR архивов в RAR, проверка их на вероятные ошибки, широчайшие возможности консольной версии, местные аналоги папки Избранное, удобный интерфейс... Заслуженный "Выбор редакции"!
7Zip 3.13
Этот малоизвестный архиватор от российских разработчиков стал самой приятной неожиданностью данного теста. Качество архивирования данных у собственного формата *.7z просто поражает: 7-Zip опережает даже WinRAR, что уж говорить о WinZip... Причиной тому -- более совершенный алгоритм сжатия и практически неограниченный объем словаря (до 192 MB), которые благотворно влияют на эффективность компрессии данных. То же касается и архивирования в Zip, где 7-Zip снова проявил себя с лучшей стороны, иногда даже выигрывая у эталона (WinZip 9.0) на пару процентов. Неудивительно, что встроенный в программу бенчмарк успешно используется многими независимыми тестовыми лабораториями для измерения производительности новых процессоров.
Правда, есть и обратная сторона медали -- невероятно медленная работа 7-Zip, которая наверняка отпугнет от него многих пользователей. Не в последнюю очередь это обусловлено величиной словаря -- чем он больше, тем выше требования программы к оперативной памяти ПК и процессору. Интерфейс у 7-Zip аскетичный, но особых нареканий не вызывает. Кроме Zip и 7z, полностью поддерживаются Tar, GZip, BZip2, а частично (только распаковка) -- RAR, Cab, Arj и др. К сожалению, данный архиватор пока не научился работать с многотомными архивами, да и с популярностью среди пользователей у него пока некоторые проблемы. С другой стороны, все это никак не мешает использовать программу по ее прямому назначению -- сжатию больших объемов малоиспользумых данных. И надо сказать, трудно найти архиватор, который лучше справится с этой задачей. Вот еще бы скорость работы увеличить....
Тип данных
Скорость и процент сжатия в *.rar при различных параметрах компрессии*
*Для тестирования использовались каталоги с графическими файлами ВМР (155 МB), документами Word (55,4 МB) и с Webстраницами, сохраненными целиком (38,6 МB). Процент сжатия рассчитывался как соотношение размера архива и величины каталога с несжатыми файлами
Итак, непрерывный (solid) архив. В этом случае все данные будут архивироваться в виде одного большого файла. Это значительно (теоретически до 50%) увеличивает эффективность сжатия информации, но данный метод имеет и свои недостатки. Так, распаковка одного или нескольких файлов из такого архива займет значительно больше времени, чем из обычного. Например, если архив состоит из 100 файлов, а требуемый файл является 90м по списку, то программа вынуждена открыть все 89 предыдущих. Бесплатный сыр бывает только в мышеловке...
Большой размер словаря. Его влияние на эффективность компрессии значительно меньше, чем в случае с непрерывным архивом -- в лучшем случае 5--10%, и во многом зависит от типа сжимаемых данных. Как видно из таблицы, размер словаря (4 MB или 1 MB) никак не повлиял на эффективность компрессии картинок в формате *.ВМР и Webстраниц, а вот в случае с документами Word результат имел место быть. Разумеется, подобные эффекты проявляются гораздо сильнее при архивировании больших массивов данных (сотни мегабайт и гигабайты), здесь лишь можно констатировать, что они присутствуют в той или иной степени. Из недостатков большого словаря следует отметить увеличение системных требований к оперативной памяти и процессору, и на слабом ПК (ниже 600 MHz/128 RAM) это может привести к значительному увеличению времени упаковки и распаковки архивов. То же касается и непрерывных архивов, так что либо отключайте данные опции, либо делайте апгрейд....
Мультимедиасжатие. А вот здесь наблюдается прямо противоположная ситуация. Отключение данной опции, наоборот, приводит к замедлению работы программы -- естественно, вместе с ухудшением коэффициента компрессии. Комментарии здесь излишни -- always on.
Таким образом, наиболее оптимальная конфигурация архиватора следующая: опция "непрерывный архив" включена, размер словаря 4096 KB, мультимедиасжатие включено (автоматически). Кроме того, можно включить опцию "протестировать архив сразу же после его создания" -- это застрахует вас от возможных ЧП в будущем.
Результаты тестирования различных архиваторов
Тестовая система:
AMD Barton 2500@3200+
Shuttle AN35(N) 400 (NVidia nForce 2400 chipset)
512 MB DDR PC 3200 PQI
GeForce 4 Ti4200 128 MB AGP 8x Inno3D
HDD 80 GB Western Digital WB800JB 7200 rpm, 8 MB cache
Операционная система -- Windows XP SP1 Rus.
Очевидно неоспоримое преимущество WinRAR и 7Zip абсолютно во всех категориях. Причем 7Zip опережает WinRAR буквально на доли процента, в лучшем случае -- на процентдва, зато разница в затраченном времени у них просто огромная -- в дватри раза. По степени сжатия WinAce соблюдает почти полный паритет с WinRAR, но затраты времени на архивирование у него, как и у 7Zip, больше в 2--3 раза. Аутсайдерами теста являются WinZip и PowerArchiver, и это неудивительно, ведь они оба используют один и тот же алгоритм компрессии данных. Как видите, разницы между обычным алгоритмом сжатия Zipфайлов и enhanced deflate практически нет, зато в последнем случае время создания архива увеличивается в среднем на 20--30%. Такая же картина наблюдается и у PowerArchiver (на таблице показаны только данные для enhanced deflate, так как результаты компрессии с помощью обычного алгоритма ничем не отличаются от таковых в WinZip). А вот 7Zip снова приятно удивил, на этот раз -- в Zipкомпрессии. Действительно, выигрыш при архивировании в Zip с помощью этого архиватора составляет 2--3% по сравнению с собственно WinZip.