Сравнительный анализ программ архивирования данных

Содержание

  • Введение
  • Возможности архивирования
  • 7-Zip 9.1 Beta и FreeArc 0.60
  • WinRAR 3.92 и WinZip 14
  • Тестовая установка и параметры программ
  • Собственные форматы: скорость сжатия, размер конечных файлов и время сжатия
  • Формат ZIP: Скорость сжатия и размер
  • Результирующие показатели
  • Выводы
  • Литература

Введение

Сжатие данных является настолько повседневным делом, что многие из нас воспринимают его как само собой разумеющееся. В действительности оно окружает нас: каждый установочный пакет с новой программой и множество форматов файлов, вроде JPEG для фотографий и различных форматов для видео и аудио, опираются на сжатие для сбережения места на накопителе или для сокращения времени и стоимости передачи данных.

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

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

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

Большинство инструментов умеют работать с как минимум популярным форматом ZIP, а иногда даже с RAR и/или LZH. Какие-то инструменты при этом более эффективны и предлагают большую гибкость. Однако какой формат имеет наибольшее значение, когда в учет берется время сжатия и обработки файлов? Все ли инструменты предлагают схожую производительность при работе с таким общим форматом, как ZIP?

Невозможно провести тесты над всеми доступными архиваторами, поэтому необходимо сфокусироваться на некоторых самых популярных. Таковыми являются WinRAR и WinZip, которые без всяких вопросов занимают доминирующее положение. Дополнительными же стали 7-Zip и FreeArc. Что все эти архиваторы умеют делать.

Возможности архивирования

Приложение и совместимость

Что вам надо для сжатия или архивирования? Для небольших файлов, которые необходимо отправить по почте, вам, вероятно, необходим высокий коэффициент сжатия.

Коммерческие приложения, в частности, предлагают высокий уровень интеграции с операционной системой, давая доступ к своим возможностям через правый клик в проводнике Windows.

Ориентируйтесь на ZIP или RAR, если хотите отправить данные людям, которых вы не очень хорошо знаете. Большинство людей в состоянии открыть и извлечь файлы из ZIP или RAR. Однако, используя другой формат, вы рискуете, что «на другом конце» с распаковкой вашего архива могут возникнуть проблемы.

Сжатие, скорость и типы данных

Повышенное сжатие помогает снизить размеры файлов, но оно и занимает намного больше времени. Современные приложения обычно являются потокооптимизированными, что означает, что они используют преимущества многоядерных процессоров. Однако существует немного решений, которые до сих пор работают лишь с одним процессорным ядром. Спустя годы использования WinZip в качестве основной программы, люди стали считать, что глупо платить $30 за программу, которая обладает меньшим числом возможностей, чем бесплатные альтернативы.

Важно понимать, что одни типы файлов, вроде документов, могут сжиматься довольно хорошо, тогда как другие файлы стоит архивировать лишь для удобного хранения. Так, например, картинки JPEG, установочные файлы программ и другие подобные данные уже сжаты и поэтому не стоит ожидать от их повторного сжатия.

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

Для простого примера: упаковка 50GB информации в единый файл с минимальным сжатием занимает почти столько же времени, сколько и копирование. Однако процесс может затянуться на часы, если вы пытаетесь получить архив с минимально возможным размером.

Многотомные архивы

Природа носителей информации и аккаунтов электронной почты иногда приводит к необходимости ограничить размер файлов. Почтовые аккаунты зачастую ограничены на 10-20MB данных в одном сообщении, а носители (вроде CD, DVD и даже Blu-ray дисков) обладают ограниченными емкостями. В этих случаях может быть необходимым создание многотомных архивов, размеры которых вы можете задавать самостоятельно. Эти многотомные архивы поддерживаются множеством современных архивирующих программ, хотя и не всеми. Если эта возможность важна для человека, то стоит посмотреть, поддерживает ли ее выбранный вами архиватор.

Пароли и шифрование

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

Большинство архивирующих инструментов поддерживают шифрование AES, а некоторые (как 7-Zip и WinZip) уже используют преимущество дополнительных инструкций процессора, которые компания Intel начала внедрять на свои процессоры Core i5. Как результат, шифрование на таких процессорах в будущем будет заметно меньше влиять на весь процесс архивирования в целом, если, конечно, архивирующий инструмент поддерживает AES-NI. В то же время, для владельцев платформ AMD появление подобных наборов процессорных инструкций является лишь вопросом времени.

Несколько ограничений

Существует небольшое число ограничений, которые в частности связаны с крупными размерами файлов и старыми контейнерами. Так, спецификации ZIP 2.0 поддерживают отдельные файлы размером до 2GB.

Проблемой может быть и использующаяся файловая система. В частности системы FAT32 на старых Windows не позволяют создавать файлы с размером больше 4GB. Более крупные архивы потребуют NTFS.

И, наконец, современные архивирующие инструменты могут потреблять большие объемы оперативной памяти. Поэтому лучшей производительности от них можно добиться на компьютерах, которые не страдают ее нехваткой.

7-Zip 9.1 Beta и FreeArc 0.60

7-Zip 9.1 Beta

7-Zip является бесплатным архивирующим инструментом. Программа умеет распаковывать различные форматы архивов, но запаковывать умеет лишь в ограниченный набор форматов. По данным веб-сайта 7-Zip, в ZIP программа сжимает на 2-10% лучше, чем программы конкурентов. Сайт намекает на то, что коэффициент сжатия у 7-Zip в ZIP выше, чем у аналогов.

Однако реальной силой 7-Zip является ее собственный формат 7z. Эта открытая архитектура допускает 256-битное шифрование AES, преимуществами которого могут воспользоваться владельцы новых Clarkdale процессоров Core i5 с шестью аппаратными инструкциями для AES-шифрования и дешифровки. AES поддерживается для форматов 7z и ZIP.

Впрочем, используя 7z, незаметно большого выигрыша в производительности, несмотря на новые инструкции. Это потому, что алгоритм 7z уже настолько тяжелый, что аппаратное ускорение AES становится менее важным. Некоторые люди даже обсуждали эту тему с работниками Intel, и работники компании все подтвердили.

В целом архиватор 7-Zip не настолько распространен, как другие архиваторы. Однако архивы данной утилиты все-таки поддерживаются другими архиваторами, вроде IZArc, PowerArchiver, TUGZip и WinRAR. Обычно, 7-Zip использует сжатие LZMA (LZ77), но возможно использование и других алгоритмов. LZMA поддерживает словари различного размера (до 4GB в 64-битных ОС).

Также 7-Zip 9.1 beta поддерживает улучшенный алгоритм LZMA2. Программа позволяет работать как из командной строки, так и из графического интерфейса Windows, включающего собственный файловый менеджер. При этом программа доступна на 74 языках и работает со всеми Windows, начиная с Windows 98 и заканчивая Windows 7.

В отличие от WinZip, 7-Zip полностью оптимизирован под потоки и поэтому может использовать преимущества многоядерных процессоров.

FreeArc 0.60

Быстрый и бесплатный архиватор FreeArc, по данным официального сайта, работает в 1,5-3 раза быстрее лучших сжимающих программ при равных коэффициентах сжатия (намек, вероятно, идет на WinZip и другие популярные продукты).

Работает FreeArc как с командной строкой, так и с GUI. И, по данным сайта, утилита обладает впечатляющим списком преимуществ. В частности в зависимости от типа файла программа может переключаться между различными алгоритмами сжатия. С одной стороны это помогает в максимизации коэффициента сжатия, а с другой – привязывает пользователя к FreeArc, т.к. другие инструменты сжатия, вряд ли, смогут понять и разжать ваши архивы.

В целом FreeArc поддерживает 11 алгоритмов сжатия. Нужно помнить, что это необязательно касается непосредственно сжатия. Возможно, программа умеет лишь читать и распаковывать 11 типов архивов. Также FreeArc поддерживает интеграцию внешних программ для сжатия и фильтрации данных.

Программа умеет обнаруживать повторы (REP – в диапазоне до 1GB), удалять повторы в тексте (LZP) и также имеет препроцессор исполнимых файлов (BCJ). Кроме того, FreeArc сортирует файлы, чтобы добиться максимального преимущества от вышеприведенных возможностей. В быстрых режимах сжатия для текстов программа автоматически использует GRZIP, тогда как к двоичным файлам применяет Tornado.

Для защиты ваших архивов FreeArc поддерживает шифрование. В частности программа поддерживает AES, Blowfish, Twofish и Serpent. Поддерживаются и самораспаковывающиеся архивы, и объединения, и пересжатия, и комментарии. Однако в архиве сохраняются не все атрибуты файлов. Более того, к настоящему времени не вышла 64-х битная версия FreeArc, да и поддержки многотомных архивов пока тоже нет. К счастью, самораспаковывающиеся архивы и возможность создания простых установщиков все-таки включены.

FreeArc подходит для всех, кто не прочь потратить немного времени на настройку решений архивации под ее или его окружение. Версия 0.7 должна сделать программу такой же легкой в использовании, как WinRAR. Позже разработчики хотят добавить в FreeArc полную поддержку форматов RAR и 7z.

WinRAR 3.92 и WinZip 14

WinRAR 3.92

WinRAR от компании RAR Labs является платным решением. Мы довольно долго используем WinRAR в качестве ключевого оценочного инструмента, т.к. он является одним из самых популярных архиваторов, поддерживающих многопотоковость.

WinRAR полностью поддерживает архивы RAR и ZIP и умеет разжимать файлы CAB, ARJ, LZH, TAR, GZ, ACE, UUE, BZ2, JAR, ISO, 7z и Z. Наряду с другими инструментами в этой статье, WinRAR поддерживает как командную строку, так и работу c GUI. Также программа поддерживает самораспаковывающиеся архивы и умеет шифровать данные со 128-ми битным AES.

Поставляется WinRAR с мастером-помощником, который для простых пользователей является приятным дополнением. В этом обзоре WinRAR является единственной программой, поддерживающей создание многотомных архивов. Может быть, это покажется не особенно важным, однако многотомные архивы очень полезны, если необходимо отправить большой объем данных по электронной почте с весьма ограниченным размером сообщения. В этом случае WinRAR может разбить данные на более подходящие по размерам кусочки. Кроме того, для WinRAR существует масса аддонов, которые позволяют настраивать и оптимизировать программу под различные операционные системы.

С версии 3.91, WinRAR также поддерживает формат 7z с LZMA2 (только распаковка). Этот формат в плане производительности обычно дает отличные результаты. Под 32-х и 64-х битные версии операционных систем существуют различные версии WinRAR (причем с небольшими различиями). В настоящее время программа обладает поддержкой 15 языков и даже поддержкой собственных тем.

WinZip 14

И, наконец, последним, но не менее важным архиватором в этом обзоре является WinZip. Это самый популярный платный архивирующий инструмент, который в ходе тестирования показал себя с двух различных сторон. С одной стороны WinZip неплохо интегрируется в операционную систему и очень удобен в использовании. 14-ая версия WinZip является, вероятно, тем, что вам нужно при работе подWindows Vista или 7. С другой стороны WinZip все еще не научился распределять нагрузку на множество ядер процессора, и поэтому он очень медлителен при использовании LZMA или параметра Best Method, который выбирает лучший алгоритм сжатия конкретных типов файлов. Даже на обычных файлах ZIP, производительность WinZip является лишь средней.

WinZip может создавать три типа различных архивов: ZIP, ZIPX и LHA. Однако читать программа умеет намного больше, включая RAR, 7z, BZ2, JAR, файлы образов (IMG, ISO) и CAB. При частой работе с крупными файлами ZIP, вы будете рады услышать, что WinZip 14 справится с ZIP-архивами, размер которых превышает 4GB.

Для защиты архивов программа позволяет использовать 128-ми или 256-ти битное шифрование AES. Возможность авто-уборки позаботится о том, чтобы временно извлеченные из зашифрованных архивов файлы после использования были уничтожены. Также WinZip 14 поддерживает функциональность Intel AES-NI, которая доступна на Clarkdale процессорах Core i5 (и Gulftown Core i7-980X).

Стоит подчеркнуть, что невозможно опробовать все возможности архиватора WinZip, т.к. их список впечатляюще длинен. Даже одна лишь поддержка архиватором новой Windows 7 является весьма положительным фактором. Например, он поддерживает жесты на сенсорных экранах, поддерживает предварительный просмотр и даже так называемые jump lists для облегчения доступа к своим возможностям и ZIP-файлам. Последняя версия архиватора также поддерживает изменение размеров фотографий. Да, другие инструменты тоже предлагают интеграцию с операционной системой, но не такой экстенсивный набор возможностей. В частности WinZip поддерживает многотомные архивы, имеет интегрированный FTP-клиент, позволяющий закачивать резервные архивы (версии Backup и Pro), поддерживает командную строку и даже создание самораспаковывающихся архивов.

Тестовая установка и параметры программ

Тестовая система и параметры программ:
  • Материнская плата (LGA 1156): Gigabyte P55A-UD6 (Rev. 1.0);
  • Chipset: P55;
  • BIOS: F7d (01/19/2010)
  • Процессор: Intel Core i7-870 (45nm, 2.93 GHz, 4 x 256KB L2 и 8MB L3 Cache, TDP 95W)
  • Память: 4 x 2GB DDR3-1600 (OCZ OCZ3G2000LV4GK)
  • Жесткий диск: A-Data Flash SSD S592 128GB SATA 3Gb/s, 64MB Cache
  • Графика: Sapphire Radeon HD 5850; GPU: Cypress (725 MHz); Видеопамять: 1GB GDDR5 (2000MHz); Потоковые процессоры: 1440
  • Блок питания: PC Power & Cooling, Silencer 750EPS12V 750W
  • Операционная система: Windows 7 Ultimate X64, обновлена 2010-01-11
  • Драйвера чипсета Intel: Chipset Installation Utility Ver. 9.1.1.1025
  • Драйвера графики ATI: Catalyst 9.12
Файлы для тестирования (общий размер 650MB):
  • • 30 файлов JPEG (67,5MB)
  • • 21 документ PDF (123MB)
  • • 4 файла Excel (9MB)
  • • 10 презентаций PowerPoint (67MB)
  • • 17 документов Word (41MB)
  • • Целая установочная библиотека OpenOffice 3.1.1 (341MB)

Собственные форматы: скорость сжатия, размер конечных файлов и время сжатия

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

Сжатие файлов: размер сжатого файла в MB (чем меньше, тем лучше)

Рассматривая результирующие размеры файлов, можно заметить, что получилась впечатляющая экономия места. Очевидно, что сжатия LZMA и FreeArc ARC являются лучшими. Эти методы выдали файлы с размерами от 350MB до 356MB.

Сжатие файлов: коэффициент сжатия в % (чем больше, тем лучше)

Коэффициент сжатия в диаграмме показывает то, насколько меньше получается архив по отношению к исходным данным. Коэффициенты лежат в диапазоне от 39,5% до 46,2%.

Сжатие файлов: размер сжатого файла в % от исходных данных (чем меньше, тем лучше)

А эта диаграмма показывает обратное. Насколько крупен конечный архив по отношению к исходным данным.

Сжатие файлов: время сжатия в секундах (чем меньше, тем лучше)

Важно также и время, потребовавшееся на сжатие. Если архиватору WinZip потребовалось 3,5-4 минуты, то 7-Zip с LZMA2 и режимом сжатия по умолчанию потребовал на ту же работу лишь 45 секунд. Очевидно, время обработки данных программами разнится значительно. В заключении надо перемножить времена обработки с размерами конечных файлов и получить общий индекс, который учитывает оба фактора.

Формат ZIP: Скорость сжатия и размер

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

Сжатие файлов: размер сжатого файла в MB (чем меньше, тем лучше)

В данном случае размер конечного архива получился намного больше, чем при использовании собственных форматов архиваторов. А разница между самым маленьким архивом и самым большим получилась намного меньше. Тем не менее, отлично справился с работой 7-Zip, не показав почти никакой разницы между режимом сжатия по умолчанию и режимом наилучшего сжатия. Также на наилучшем сжатии отличные результаты показал WinZip 14.

Сжатие файлов: коэффициент сжатия в % (чем больше, тем лучше)

Данная диаграмма показывает снижение размера файлов при использовании различных режимов работы архиваторов.

Сжатие файлов: размер сжатого файла в % от исходных данных (чем меньше, тем лучше)

В свою очередь эта диаграмма показывает отношение размера конечного архива к исходным данным.

Сжатие файлов: время сжатия в секундах (чем меньше, тем лучше)

А вот здесь результаты просто изумительны. Очевидно, в режиме сжатия по умолчанию 7-Zip потребовал в 8 раз меньше времени, чем у него же ушло на режим наилучшего сжатия этих же данных. WinZip иWinRAR оказались в середине. Теперь необходимо взглянуть на суммарную производительность, которая сводит скорости сжатия и времена сжатия в единый показатель.

Результирующие показатели

Очки сжатия файлов: время сжатия умноженное на коэффициент сжатия (чем меньше, тем лучше)

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

В обоих режимах WinRAR показал отличные результаты. Однако реальным победителем стал 7-Zip со своим LZMA2 и режимом сжатия по умолчанию. Эта программа показала быстрое сжатие и отличный коэффициент сжатия.

Очки сжатия файлов: время сжатия умноженное на коэффициент сжатия (чем меньше, тем лучше)

Теперь нужно посмотреть на результаты ZIP-сжатия, которые, вероятно, для многих пользователей окажутся более важными. И снова лидером здесь является 7-Zip – программа показала высокий коэффициент сжатия и очень быструю обработку. WinRAR и WinZip значительно уступили 7-Zip. В режимах наилучшего сжатия время обработки данных еще больше увеличивается (особенно у 7-Zip).

Выводы

В данной работе было рассмотрено четыре различных архиватора, и заставили их сжать 650MB смешанных данных. При первом проходе, было задано архиваторам использовать их собственные сжимающие решения, а именно 7z с LZMA2 для 7-Zip, ARC для FreeArc, RAR для WinRAR и ZIP для WinZip. В свою очередь на втором проходе было сравнение результатов работы архиваторов с форматом ZIP, который, является самым значимым для большинства пользователей.

Собственные форматы

Результаты здесь весьма интересны. Между ними существуют значительные различия как в плане времени обработки данных, так и в размерах результирующих архивов. Лучшими оказались методы ARC и LZMA/2, показавшие самые высокие коэффициенты сжатия на включенном режиме наилучшего сжатия. К сожалению, сжатие в ARC и LZMA также довольно долго длится. Поэтому, если пользователям действительно нужен высокий коэффициент сжатия за приемлемое время обработки, то лучшим является LZMA2 из 7-Zip.

Формат ZIP

При использовании формата ZIP размеры конечных архивов от различных архиваторов отличаются незначительно. И хотя лучшие коэффициенты сжатия показали архиваторы 7-Zip и WinZip, они же показали и самое большое время обработки.

Победители?

Если пользователь может свободно выбрать себе архиватор и хочет получить от него сбалансированность между степенью сжатия и временем обработки, то 7-Zip с LZMA2 и WinRAR – оба на настройках по умолчанию – обеспечат наилучшие результаты. Для тех же, кто зависит от формата ZIP, все-таки также стоит обратиться к 7-Zip и WinRAR. И снова на настройках по умолчанию. В свою очередь на наилучшем сжатии не стоит волноваться по поводу времени, которое на него уходит.

По удобству использования победителями остались WinRAR и WinZip. Наборы возможностей этих архиваторов (в частности набор WinZip) не имеют себе равных и обеспечивают неплохое понимание даже среди технически слабо подготовленных пользователей. WinZip предлагает максимум возможностей, тогда как WinRAR для помощи предлагает еще и мастера. Однако энтузиастам и фанатам командной строки, вероятно, больше подойдут 7-Zip и FreeArc.

Побежденные?

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

Литература