Программное обеспечение 

Современные архиваторы

версия для печати послать другу 0
|| Содержание статьи

Показать одной страницей

25.04.2005 01:00 Автор: TECHLABS Team

Какие существуют архиваторы и чем они отличаются?

Следует различать собственно программу-архиватор, формат архивов и методы сжатия. Даже один и тот же метод сжатия может иметь варианты реализации. Например, существует более десятка программ-архиваторов, которые могут создавать архивы в формате ZIP. В свою очередь данные в формате ZIP могут быть сжаты различными методами: Deflate, Deflate64, BZip2. Метод Deflate имеет несколько реализаций с разной скоростью и степенью сжатия (разница порядка 5%). С помощью этого метода архиватор 7-zip позволяет создавать архивы в формате ZIP и 7Z.

Обычно архиваторы могут создавать архивы в собственном эксклюзивном формате с использованием своих оригинальных методов. Например, архиватор RAR позволяет создавать архивы RAR. В формате архива и методах сжатия заключаются основные преимущества того или иного архиватора.

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

  • сжатие некоторых файлов и целых директорий;
  • создание самораспаковывающихся (SFX) архивов. То есть для распаковки архива программа-архиватор не требуется;
  • изменение содержимого архива;
  • шифрование содержимого архива;
  • информация для восстановления архива при частичном повреждении и возможность восстановления поврежденных архивов;
  • разбивка архива на несколько частей или томов;
  • консольная версия программы для работы из командной строки;
  • графическая (GUI) версия программы.

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

Кроме различий в функциональности, можно разбить архиваторы на две группы: асимметричные и симметричные. Асимметричные архиваторы требуют для операции распаковки значительно меньше времени и оперативной памяти, чем для операции упаковки. Это позволяет быстро получать содержимое архива на маломощных компьютерах. Симметричные архиваторы требуют для операций упаковки и распаковки одинаковое время и объем оперативной памяти. Использование таких архиваторов на широком парке компьютеров или для оперативного доступа к содержимому архива ограничено. Известный архиватор RAR в качестве основного использует асимметричный словарный метод сжатия, а для текстов может использовать симметричный PPM-метод. Таким образом, распаковка архивов RAR, сжатых с максимальной степенью сжатия, может быть невозможна на компьютерах с ограниченным объемом оперативной памяти. Все или почти все передовые архиваторы с высокой степенью сжатия являются симметричными.

Точной статистики по распространенности архиваторов у меня нет. Я выскажу свою субъективную точку зрения на основе личного опыта. Безусловно, самым распространенным архиватором являются ZIP и его модификации. По своей распространенности он значительно превосходит ближайших конкурентов. Следом идут RAR и ACE. В последние годы встречается архиватор 7-zip. Других архиваторов и архивов лично мы не встречали. Исключение составляют некогда популярные ARJ и LHA. В данный момент они не актуальны из-за очень низкой степени сжатия.

Несмотря на очень скромные данные о распространенности архиваторов, их существует большое множество. Основная масса относится к категории экспериментальных и архиваторов с ограниченной функциональностью. Тем не менее каждый их них позволяет выполнять собственно процедуру сжатия данных. Меньшая распространенность увеличивает вероятность ошибок в программе. К ним стоит относиться с некоторой осторожностью. Например, при проведении тестирования была найдена ошибка в архиваторе WinRK (PWCM), которую, однако, оперативно исправили.

Тестирование максимальной степени сжатия

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

Для разностороннего тестирования и выявления сильных и слабых сторон использовалось несколько наборов данных, требующих различных подходов и методов для хорошего сжатия. Их размер выбран достаточно большим, чтобы архиваторы с большим размером словаря или более эффективно использующие оперативную память могли показать свое преимущество. В сжатом при помощи ZIP виде они занимают размер в районе 15 MB.

Для каждого набора данных обычно можно подобрать наиболее оптимальные параметры сжатия. Однако в этом тестировании для всех наборов данных использовались единые параметры и методы, дающие в среднем лучшие результаты исходя из наличия 512 MB оперативной памяти. Такой подход является компромиссным. С одной стороны, можно оценить эффективность на разных типах данных, хотя некоторые архиваторы и не покажут максимальной степени сжатия. С другой стороны, в реальности приходится сжимать целые папки с разнообразными данными, а специфические значения параметров могут влиять как положительно, так и отрицательно на сжатие данных в целом. Кроме того, подбор оптимальных параметров не так прост, занимает много времени и в реальной жизни выполняется редко.

Стоит подчеркнуть, что выбор исходных данных очень сильно влияет на результаты тестирования. Например, при использовании текстовых (TXT,HTML,DOC,LOG) и мультимедиа (WAV) данных архиватор 7-zip (LZMA) покажет худшие результаты, чем RAR, который имеет специальные методы для таких типов данных. Использование несжимаемых данных (JPG, PDF) покажет мизерную разницу между архиваторами с плохой и хорошей степенью сжатия. Кстати, многие файлы могут содержать как сжимаемую информацию, так и не- сжимаемую. В том числе файлы в формате DOC и PDF.

Сильное влияние оказывает и подбор оптимальных параметров сжатия. Например, по данным www.maximumcompression.com, используещего оптимальные параметры сжатия для каждого набора данных, разница между 7-zip и RAR около 3%, что значительно меньше разницы, полученной в данном тестировании.

Тестовая система

Тестирование производилось на системе: процессор - Athlon XP 2800+, оперативная память - 512 MB.

Набор данных

Данные

Размер

Сжатие ZIP

Содержание

bak

54.4 MB, 13 файлов

22.6%

Набор резервных копий. Резервные копии конфигураций (настроек) 1С:Предприятие. Размер файлов от 3 MB до 9 MB. Файлы имеют блочную структуру (compound) и содержат довольно много похожих и одинаковых блоков.
dat

41.5 MB, 4 файла

35.9%

Сложный набор разнообразных данных. Файлы, содержащие информацию об игровых уровнях (картах) в играх Half-Life 2 и UnrealTurnament 2003.
dbf

69.1 MB, 8 файлов

15.3%

Файлы баз данных. Файлы таблиц из юридической программы и базы данных 1С:Предприятие небольшого предприятия.
exe

25.3 MB, 3 файла

49.8%

Исполняемые файлы. Исполняемый файл из игры Half-Life 2, а так же динамическая библиотека и исполняемый файл из пакета MS Office XP.
med

25.5 MB, 27 файлов

63.4%

Мультимедиа файлы. Несколько файлов изображений в формате PSD, несколько текстур из игр Half-Life 2 и Unreal Tournament 2003 во внутреннем формате, несколько файлов несжатого звука WAV из игры Half-Life 2.
txt

41.4 MB, 472 файла

24.9%

Текстовые файлы. Текстовые файлы в формате HTML на русском языке (16.5 MB), исходные коды на языках программирования JAVA, Delphi, Python (24.8 MB). Размер файлов от 20 MB.

Архиваторы

Под архиватором понимается программа-архиватор, формат архива и метод сжатия в комплексе. Далее по тексту для выделения этой совокупности используется курсив.

Были выбраны наиболее интересные и яркие с моей точки зрения архиваторы. Для этого протестированы наиболее распространённые архиваторы и лучшие архиваторы по данным http://techlabs.by/click.php?url=http://www.maximumcompression.com/. Некоторые архиваторы были протестированы, но в итоговые результаты не попали. В том числе 7-zip (PPMd), Compressia, DGCA, DURILCA, EPM, PPMonstr, StuffIt, SBC, WinRK (PPMZ), WinRK (ROLZ). Некоторые архиваторы были отброшены после первых предварительных тестов. Это обусловлено более низкими результатами, без каких либо существенных преимуществ. Тем не менее, такие архиваторы, как Compressia, DURILCA, EPM, WinRK (PPMZ) являются одними из лучших по степени сжатия. Такой малоизвестный архиватор DGCA обладает почти идентичной степенью сжатия, скоростью и функциональностью с RAR, за исключением возможности изменять содержимое архива. При этом он является асимметричным, бесплатным и требует меньше оперативной памяти. Отмечу, что DGCA совершенно другой архиватор, который имеет свои недостатки.

Так как не все протестированные архиваторы поддерживают возможность сжатия папок, для них набор данных предварительно преобразовывался в архив ZIP с нулевой степенью сжатия.

Архиватору Slim немного подыграли. Дело в том, что этот неплохой архиватор может сжимать целые папки, но не использует непрерывный режим сжатия. В результате на тестовом наборе txt он показал сравнительно плохой результат. Если же использовать архив ZIP с нулевой степенью сжатия, тогда на тестовых наборах exe и med степень сжатия получалась значительно хуже. Это объясняется тем, что архиватор Slim использует специальные методы для некоторых форматов файлов. Архив ZIP хоть и содержит несжатые файлы, для Slim представляется только как архив ZIP. Таким образом, для архиватора Slim тестовый набор txt и bak предварительно преобразовывался в архив ZIP с нулевой степенью сжатия.

Архиватор

Версия

Параметры

7zip

7-zip 4.16 beta

Format=7z, Compression level=Ultra, Compression method=LZMA, Dictionary size=32 MB, Word size=255
ACE

WinACE 2.6b4

Compression=maximum, Solid=on, V2.0=on, Dictionary=4096 KB
PAQAR

PAQAR 4.0

Compression option=6
RAR

WinRAR 3.42

Compression method=best, Solid=on, Advanced compression parameters=(Все включено или авто), Text compression memory to use=128 MB, Dictionary=4096 KB
Slim

Slim 0.23

Use of memory=400 MB
Squeez

Squeez 4.20

Format=SQX, Compression rate=maximum, Dictionary size=4096 KB, Multimedia compression=on, EXE compression=on
UHARC

UHARC 0.6a

Compression mode=PPM, Dictionary size=32768 KB
WinRK

WinRK 2.05

Compression method=PWCM, Model size=400 MB
WinUDA

WinUDA 0.290

Mode-3
ZIP

7-zip 4.16 beta

Format=ZIP, Compression method=Deflate, Word size=255

Функциональность и характеристики архиваторов

Указаны характеристики и функциональность только для выбранных параметров. При использовании других параметров эти характеристики могут сильно измениться. Например, WinRK при использовании стандартного метода PPMZ позволяет создавать самораспаковывающиеся (SFX) архивы. Требования к оперативной памяти в основном определены выбранными параметрами и могут быть уменьшены.

  7zip ACE PAQAR RAR Slim Squeez UHARC WinRK WinUDA ZIP
Сжатие директорий

+

+

-

+

+(1)

+

+

+

+

+(1)

Создание самораспаковывающихся (SFX) архивов

+

+

-

+

-

+

+

-

+

-(2)

Изменение содержимого архива

+

+

-

+

+

+

-

+

-

+

Шифрование

+

+

-

+

-

+

+

+

-

+

Восстановление архива

-

+

-

+

-

+

-

-

-

-

Разбивка архива на части

+

+

-

+

-

+

-

+

-

+

Консольная версия

+

+

+

+

+

+

+

+(3)

-(4)

+

Графическая (GUI) версия

+

+

-

+

-

+

+(5)

+

+

+

Асимметричность

+

+

-

-(6)

-

+

-

-

-

+

Требования к оперативной памяти, MB

370

46

320

170(7)

430

55

54

430

200

36(8)

Бесплатность

+

-

+

-

+

-

+

-

+

+

  1. Не поддерживается непрерывный режим. Архиватор не эффективен при сжатии большого числа маленьких файлов.
  2. Архиватор 7-zip не поддерживает cоздание самораспаковывающихся (SFX) архивов ZIP , однако такая возможность имеется во многих других архиваторах, которые могут создавать архивы ZIP.
  3. Архиватор WinRK не имеет отдельной консольной версии, однако существует возможность работы с архиватором из командной строки.
  4. Архиватор WinUDA имеет консольную версию, но она использует более старый метод сжатия и создаёт несовместимые с графической (GUI) версией архивы.
  5. Архиватор UHARC не имеет отдельной версии с графической оболочкой. Однако существует полнофункциональная сторонняя оболочка WinUHA.
  6. Основной метод сжатия архиватора RAR - асимметричный словарный метод. Однако при максимальном сжатии может использоваться и используется симметричный метод для сжатия текста (PPM).
  7. Если установить автоматическое определение размера оперативной памяти для текстового сжатия, то на тестовых данных и тестовой системе для архиватора RAR требовалось всего 64 MB, а степень сжатия ухудшалась незначительно.
  8. В большинстве архиваторов для создания архивов ZIP требуется значительно меньше оперативной памяти.

|| Комментарии на форуме 0
Оставить комментарий