Эта работа была прислана на наш "бессрочный" конкурс статей и является значительно переработанным вариантом статьи "Краткое сравнение архиваторов" того же автора. Работа получила приз - видеокарту 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.
Настройки для тестирования:
ACE 2 www.winace.com. До выхода RAR 2.9 был существенно лучше RAR 2.0. Преимущества – высокая функциональность, степень сжатия и скорость. Недостатки – платный.
Использовался WinACE 2.5. Настройки для тестирования:
RAR 2.9 www.rarlab.com. Преимущества – высокая функциональность, степень сжатия и скорость, распространённость. Недостатки – платный.
Использовался WinRAR 3.30 beta 5. По сравнению с предыдущей версией 3.11 степень сжатия незначительно увеличилась на всех видах данных, для текста прирост немного больше (вероятно, из-за улучшения в автоматическом определении параметров сжатия).
Настройки для тестирования:
7-zip 3.12 www.7-zip.org. Преимущества – высокая степень сжатия, бесплатность. Недостатки – низкая функциональность по сравнению с RAR. Для 7zip PPMd скорость и требования к оперативной памяти одинаковы во время архивирования и разархивирования.
Использовался 7-zip 3.12. Настройки для тестирования:
Compressia www.compressia.com. Преимущества – один из самых лучших по степени сжатия архиваторов. Недостатки – сильно ограниченная функциональность, только GUI версия, низкая скорость, скорость и требования к оперативной памяти одинаковы во время архивирования и разархивирования, платный.
Использовался Compressia v1.0 beta. Настройки для тестирования:
EPM www.thepipe.kiev.ua. Преимущества – один из самых лучших по степени сжатия архиваторов. Недостатки – низкая скорость, скорость и требования к оперативной памяти одинаковы во время архивирования и разархивирования, для высокой степени сжатия необходимо относительно много оперативной памяти.
Использовался EMP r9. EMP r9 - это не полноценный архиватор, а экспериментальная версия для отработки алгоритмов, сжимает только один файл. Для тестирования использовались тестовые данные, скомпонованные в один файл при помощи 7-zip store. Из-за этого степень сжатия могла немного ухудшиться по сравнению с полноценной реализацией Solid режима (в пределах пары процентов).
Настройки для тестирования:
RKC www.msoftware.co.nz. Преимущества – один из самых лучших по степени сжатия архиваторов. Недостатки – низкая скорость, скорость и требования к оперативной памяти одинаковы во время архивирования и разархивирования, для высокой степени сжатия необходимо относительно много оперативной памяти. В конце февраля 2004 ожидается выход полноценного архиватора WinRK.
Использовался RKC 1.02. RKC 1.02 - это не полноценный архиватор, а экспериментальная версия для отработки алгоритмов, сжимает только один файл. Для тестирования использовались тестовые данные, скомпонованные в один файл при помощи 7-zip store. Из-за этого степень сжатия могла немного ухудшиться по сравнению с полноценной реализацией Solid режима (в пределах пары процентов). Опция analysis выключена, т.к. при её включении на некоторых данных программа не работает.
Настройки для тестирования:
PAQ6 www.cs.fit.edu/~mmahoney/compression. Преимущества – один из самых лучших по степени сжатия архиваторов. Недостатки – очень низкая скорость, скорость и требования к оперативной памяти одинаковы во время архивирования и разархивирования, для высокой степени сжатия необходимо относительно много оперативной памяти.
Использовался PAQ6 v2. PAQ6 v2 - это не полноценный архиватор, а экспериментальная версия для отработки алгоритмов, может сжимать несколько файлов. Для тестирования использовались тестовые данные, скомпонованные в один файл при помощи 7-zip store. Из-за этого степень сжатия могла немного ухудшиться по сравнению с полноценной реализацией Solid режима (в пределах пары процентов).
Настройки для тестирования:
Для тестирования использовались следующие хорошо сжимающиеся данные:
Тестирование производилось на системе: 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. Это лишний раз подчеркивает, что результаты сильно зависят от исходных данных и параметров сжатия.