Платим блогерам
Редакция
Новости Software Enot

реклама


Эта работа была прислана на наш "бессрочный" конкурс статей и является значительно переработанным вариантом статьи "Краткое сравнение архиваторов" того же автора. Работа получила приз - видеокарту Chaintech GeForce FX 5600XT 128 МБ>, предоставленную для нашего призового фонда компанией Chaintech.


реклама

Главной целью этой статьи является выбор наиболее оптимального архиватора с высокой степенью сжатия различных реальных данных большого объёма. В тестировании принимали участие: самый распространенный и один из старейших ZIP, популярные архиваторы ACE, RAR, 7-zip. Кроме того, были протестированы некоторые перспективные архиваторы. Большинство из них являются экспериментальными, обладают низкой скоростью архивирования и разархивирования, требуют много оперативной памяти, имеют ошибки. Например, не удалось сжать все тестовые данные при помощи Slim 0.021 (ошибка приложения), показавшего очень хорошие результаты, скорость PAQ6 v2 достигала 15 КБ/с. В итоге были выбраны Compressia 1.0b, EPM r9, PAQ6 v2, RKC 1.02, которые на данный момент являются одними из лучших.

Стоит отметить, что в рейтинге www.maximumcompression.com, EPM r9, PAQ6 v2, RKC 1.02, Compressia 1.0b сжимают лучше, чем 7-zip 3.13, WinRAR 3.30b5 на 10%, а разница между 7-zip 3.13 и WinRAR 3.30b5 около 3%.

Каждый из протестированных архиваторов обладает рядом настроек, изменяя которые, можно управлять степенью сжатия и скоростью в широких пределах. Тестирование производилось в режимах norm и max. RAR дополнительно тестировался в режиме fastest (максимальной скорости). Compressia, EPM, RKС, PAQ6 - только в режиме max. Для режима norm выбирались предлагаемые средние установки, для режима max – дающие максимальную степень сжатия. Все дополнительные настройки устанавливались в значения, дающие в среднем лучшее сжатие на тестовой системе, или, если возможно, в авто. В частности, 7-zip, EPM r9, RKC 1.02, PAQ6 v2 настраивались на использование около 400 МБ оперативной памяти в max режимах. Для режима fastest все настройки устанавливались на максимальную скорость, фильтры отключались, параметр Solid=on (на скорость не влияет). Несмотря на то, что для каждого вида данных существуют свои оптимальные настройки, которые иногда дают существенный прирост степени сжатия, тестирование проводилось с едиными настройками. Это сделано для отражения реальных ситуаций, при которых бывает необходимо заархивировать папку с различными типами данными.

Поиск оптимального соотношения между степенью сжатия и скоростью – это предмет отдельного исследования. Кроме того, это соотношение не имеет четких границ и сильно зависит как от системы, на которой производится архивирование, так и от исходных данных. Можно привести такой пример: в max режиме при архивировании "Инсталляция Office XP" скорость 7-zip в 3 раза выше Compressia, а при архивировании "База данных 1С:Предприятие" скорость 7-zip в 9 раз ниже Compressia. В данной статье основной упор сделан на степень сжатия.

В качестве тестовых данных использовались большие объемы реальных неоднородных данных. Исключение составляет "Документы Word, Excel". Больше 9 МБ реальных "средних" документов найти не удалось, а тестировать документы по 13 МБ, в основном состоящие из отсканированных и несжимаемых изображений, неправильно. Дополнительно была добавлена книга TICSharp.DOC (11 МБ) с небольшими иллюстрациями.

Если необходимы результаты сжатия исключительно текстов, программ, изображений, звука, то лучше поискать в Интернете соответствующие тестирования, например на www.maximumcompression.com, www.compressio.ru, arctest.narod.ru.

Тестировались следующие архиваторы:

ZIP. Является старейшим и самым распространённым архиватором. Это почти стандарт. Преимущества – высокая скорость, распространённость, совместимость и бесплатность. Недостатки – низкий уровень сжатия, ограниченная функциональность.

Использовался встроенный в Total Commander 6.0 архиватор. Несмотря на то, что Total Commander является shareware, сам формат ZIP бесплатный. Существует много бесплатных программ, которые архивируют в формат ZIP, например 7-zip. Стоит отметить, что каждая реализация ZIP может иметь скорость и степень сжатия, отличающуюся от реализации ZIP в Total Commander 6.0. Например, 7-zip архивирует в ZIP с более высокой степенью сжатия, но значительно медленнее.

В Total Commander 6.0 также есть поддержка формата TGZ (настройка Packer TGZ) который является своеобразным Solid (непрерывным архивом) вариантом ZIP (GZIP). Использование TGZ может дать значительное улучшение сжатия на большом количестве небольших файлов (на тестовых данных "Текст в формате HTML" - 60% от ZIP norm), но обладает таким недостатком - Total Commander 6.0 видит архив TGZ как заархивированный TAR, в результате для распаковки необходимо сначала распаковать TAR, а затем уже содержимое архива. По скорости и степени сжатия одного файла TGZ равен ZIP norm.

Настройки для тестирования:

  • ZIP norm – настройка normal compression (6).
  • ZIP max – настройка maximum compression (9).

ACE 2 www.winace.com . До выхода RAR 2.9 был существенно лучше RAR 2.0. Преимущества – высокая функциональность, степень сжатия и скорость. Недостатки – платный.

Использовался WinACE 2.5. Настройки для тестирования:

  • ACE norm – настройка Level=normal, Solid=on, V2.0=on, Dictionary=4096 КБ.
  • ACE max – настройка Level=best, Solid=on, V2.0=on, Dictionary=4096 КБ.

RAR 2.9 www.rarlab.com. Преимущества – высокая функциональность, степень сжатия и скорость, распространённость. Недостатки – платный.

Использовался WinRAR 3.30 beta 5. По сравнению с предыдущей версией 3.11 степень сжатия незначительно увеличилась на всех видах данных, для текста прирост немного больше (вероятно, из-за улучшения в автоматическом определении параметров сжатия).

Настройки для тестирования:

  • RAR fastest – настройка Compression method=fastest, Solid=on, Advanced compression parameters=все выключено, Dictionary=64 КБ.
  • RAR norm – настройка Compression method=normal, Solid=on, Advanced compression parameters=все включено или авто, Dictionary=4096 КБ.
  • RAR max – настройка Compression method=best, Solid=on, Advanced compression parameters=все включено или авто, Text compression memory to use=128 МБ, Dictionary=4096 КБ.

7-zip 3.12 www.7-zip.org . Преимущества – высокая степень сжатия, бесплатность. Недостатки – низкая функциональность по сравнению с RAR. Для 7zip PPMd скорость и требования к оперативной памяти одинаковы во время архивирования и разархивирования.

Использовался 7-zip 3.12. Настройки для тестирования:

  • 7zip norm – настройка Compression level=normal, Compression method=LZMA, Dictionary=2 МБ, Word size=32, Solid=on.
  • 7zip max – настройка Compression level=ultra, Compression method=LZMA, Dictionary=32 МБ, Word size=255, Solid=on.
  • 7zip PPMd – настройка Compression level=ultra, Compression method=PPMd, Dictionary=384 МБ, Word size=20, Solid=on.

Compressia www.compressia.com. Преимущества – один из самых лучших по степени сжатия архиваторов. Недостатки – сильно ограниченная функциональность, только GUI версия, низкая скорость, скорость и требования к оперативной памяти одинаковы во время архивирования и разархивирования, платный.

Использовался Compressia v1.0 beta. Настройки для тестирования:

  • Compressia – настройки Use solid blocks=on, Maximum compression=on, Use English option=off, Block size=15 МБ.

EPM www.thepipe.kiev.ua . Преимущества – один из самых лучших по степени сжатия архиваторов. Недостатки – низкая скорость, скорость и требования к оперативной памяти одинаковы во время архивирования и разархивирования, для высокой степени сжатия необходимо относительно много оперативной памяти.

Использовался EMP r9. EMP r9 - это не полноценный архиватор, а экспериментальная версия для отработки алгоритмов, сжимает только один файл. Для тестирования использовались тестовые данные, скомпонованные в один файл при помощи 7-zip store. Из-за этого степень сжатия могла немного ухудшиться по сравнению с полноценной реализацией Solid режима (в пределах пары процентов).

Настройки для тестирования:

  • EMP max – параметры командной строки -m420.

RKC www.msoftware.co.nz. Преимущества – один из самых лучших по степени сжатия архиваторов. Недостатки – низкая скорость, скорость и требования к оперативной памяти одинаковы во время архивирования и разархивирования, для высокой степени сжатия необходимо относительно много оперативной памяти. В конце февраля 2004 ожидается выход полноценного архиватора WinRK.

Использовался RKC 1.02. RKC 1.02 - это не полноценный архиватор, а экспериментальная версия для отработки алгоритмов, сжимает только один файл. Для тестирования использовались тестовые данные, скомпонованные в один файл при помощи 7-zip store. Из-за этого степень сжатия могла немного ухудшиться по сравнению с полноценной реализацией Solid режима (в пределах пары процентов). Опция analysis выключена, т.к. при её включении на некоторых данных программа не работает.

Настройки для тестирования:

  • RKC max – параметры командной строки -M420m -mxx -o16 -n+ -r+ -a-.

PAQ6 www.cs.fit.edu/~mmahoney/compression. Преимущества – один из самых лучших по степени сжатия архиваторов. Недостатки – очень низкая скорость, скорость и требования к оперативной памяти одинаковы во время архивирования и разархивирования, для высокой степени сжатия необходимо относительно много оперативной памяти.

Использовался PAQ6 v2. PAQ6 v2 - это не полноценный архиватор, а экспериментальная версия для отработки алгоритмов, может сжимать несколько файлов. Для тестирования использовались тестовые данные, скомпонованные в один файл при помощи 7-zip store. Из-за этого степень сжатия могла немного ухудшиться по сравнению с полноценной реализацией Solid режима (в пределах пары процентов).

Настройки для тестирования:

  • PAQ6 max – параметры командной строки -7.

Для тестирования использовались следующие хорошо сжимающиеся данные:

  • Документы Word, Excel – набор небольших документов (договоры, акты – 9 МБ) и книга TICSharp (11 МБ). Книга TICSharp является "неудобной" для архиваторов. Это обусловлено характерной структурой DOC файла - текстовые блоки чередуются с несжимаемыми картинками. Всего 20 МБ, 138 файлов.
  • Текст в формате HTML – содержимое JAVA SDK 1.3.1. Представляет собой большое количество небольших файлов HTML, поэтому ZIP, не поддерживающий Solid режим, показал почти в 2 раза худший результат. Этот набор данных не является полноценным текстом, т. к. содержит много тэгов HTML и пару мегабайт несжимаемых файлов. Всего 109 МБ, 6226 файлов.
  • Инсталляция Office XP – содержимое инсталляционного файла CAB. Около 120 МБ занимают файлы EXE, DLL, OCX. Всего 391 МБ, 1865 файлов
  • Игра Counter-Strike – содержимое папки Half-Life с установленным Counter-Strike. Всего 770 МБ, 3113 файлов.
  • База данных 1С: Предприятие – содержимое резервной копии базы данных (DBF-формат без индексов, с конфигурацией). Всего 189 МБ, 340 файлов.

Тестирование производилось на системе: CPU Athlon 2000 МГц, MB nForce2, RAM 512 МБ, HDD WD400JB, OS Windows 2000. Следует учитывать, что на аналогичных Pentium системах скорость сжатия может сильно отличаться.

Что можно архивировать?

Хорошо сжимаются почти все предварительно не сжатые данные, например, программные файлы, тексты, базы данных, простые несжатые изображения. Ограниченно сжимаются несжатый звук (WAV), сложные несжатые изображения (BMP). Не сжимаются (сжатие в пределах пары процентов за счет служебных тэгов и, возможно, небольшой избыточности) почти все уже сжатые данные, например, архивы (ZIP, CAB), сжатая графика и видео (JPG, GIF, AVI, MPG), сжатый звук (MP3).

Для примера можно рассмотреть папку с игрой Prince Of Persia. Из общего объема 1400 МБ, 550 МБ - это несжимаемое видео, 330 МБ - ограниченно сжимаемый звук. Игра сжимается до 1008 МБ. При сжатии разными архиваторами, разница будет только за счет сжимаемых 520 МБ, в меньшей степени за счет 330 МБ звука. Таким образом, относительные результаты будут "смазаны" несжимаемым видео.

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

Результаты тестов:

Итоги:

Несмотря на низкую степень сжатия, ZIP norm обладает самой высокой скоростью (быстрее RAR fastest в 2 раза). Его можно использовать на медленных машинах или для оперативного архивирования.

RAR и ACE приблизительно равны, с небольшим преимуществом у RAR. Их можно рекомендовать только из-за дополнительной функциональности (например, разбивка архива на части, запись дополнительной информации для восстановления при повреждении архива). По степени сжатия они уступают 7-zip. На некоторых наборах данных разница значительна. В max режиме размер архива RAR больше 7-zip от 5% до 34%, в среднем на 18%.

7-zip не является лидером в степени сжатия и имеет низкую скорость в max режиме. По сравнению с PAQ6, размер архива 7-zip больше от 2% до 23%, в среднем на 13%. Разница с результатами Compressia, EPM, RKC незначительна или даже отличается в лучшую сторону. В отличие от этих архиваторов, скорость разархивирования 7-zip (за исключением режима PPMd) значительно выше скорости архивирования. Требования к оперативной памяти во время разархивирования небольшие. Низкая скорость в max режиме все же значительно выше, чем скорость PAQ6 (в 10 раз). 7-zip может работать, используя 2 потока, что даёт значительное повышение скорости на мультипроцессорных системах или на системах с Hyper-Threading. С учетом регулярного обновления и бесплатности, 7-zip является наиболее оптимальным выбором для современных систем. В списке ближайших его изменений – разбивка архива на части, запись дополнительной информации для восстановления при повреждении архива.

Из перспективных архиваторов стоит отметить RKC, точнее WinRK www.msoftware.co.nz, который выйдет в конце февраля 2004 года. Он должен обладать не только лучшей степенью сжатия по сравнению с 7-zip, но и удобной графической оболочкой. Главный недостаток - для хорошего сжатия необходимо много оперативной памяти, скорость и требования к оперативной памяти одинаковы во время архивирования и разархивирования.

PAQ6 показал самую лучшую степень сжатия со значительным отрывом от конкурентов. Но практически использовать его могут только экстремалы из-за очень низкой скорости (17 КБ/с). Несмотря на хорошие результаты на больших объёмах неоднородных данных, проведенное мини-тестирование по сжатию одного файла (1Cv7.MD.rpk, 7 МБ) показало, что RKC справился со сжатием на 1%, EPM на 4%, а Slim 0.021 slim-fb.by.ru на 8% лучше PAQ6 (7-zip на 20% хуже).

Дальнейшее увеличение степени сжатия архиваторов сильно ограничено возможностью современных компьютеров. Даже успехи 7-zip на фоне RAR достигнуты за счет уменьшения скорости. Более того, практическая реализация эффективных PPM алгоритмов, используемых RKC, PAQ, EPM, была обусловлена существенным повышением производительности компьютеров в последние годы. Поэтому не следует в ближайшее время ждать появления архиваторов, которые при высокой скорости показывали бы степень сжатия значительно выше рассмотренных.

Результаты проведенного тестирования отличаются от рейтинга www.maximumcompression.com. Это лишний раз подчеркивает, что результаты сильно зависят от исходных данных и параметров сжатия.

Сейчас обсуждают