RuCore.NET

Выбираем архиватор: сравнение четырёх популярных утилит сжатия файлов





Введение:
На сжатие данных многие пользователи не обращают внимания, но оно буквально окружает нас: любой установочный пакет с новой программой и многие форматы файлов, такие как JPEG для фотографий или разные форматы аудио и видео, используют сжатие (без потерь или с потерями), чтобы сэкономить место на хранилище или время передачи, а также и деньги. Пользователи обычно прибегают к помощи сжатия файлов, когда они сталкиваются с некоторыми ограничениями во время работы с ними. Работа с одним файлом-архивом вместо множества, а также высокий уровень сжатия часто бывают очень актуальны. Впрочем, не менее важно и время, которое уходит на сжатие файлов и архивацию. Мы рассмотрели архиваторы 7zip, FreeArc, WinRAR и WinZip, а также проанализировали уровень и время сжатия. Кто вышел победителем?
На рынке можно найти большое количество программ, которые умеют работать с данными разными способами: хранить их, сжимать, архивировать и т.д. Программы архивации уже не только уменьшают размер файлов и объединяют рабочие данные в один большой архив, но также обрабатывают файлы перед архивацией: некоторые утилиты проверяют данные на вирусы, шифруют файлы, выполняют проверку на повторную архивацию (чтобы не сжимать файлы, которые уже сжаты) и так далее.
Независимо от дополнительных функций, одним из главных параметров является эффективность архиваторов — по крайней мере, если поинтересоваться у энтузиастов. Лучше всего, если архиватор обеспечивает очень высокую степень сжатия, причём для максимально разнообразных типов файлов, да и быстрое время сжатия тоже немаловажно. Многие утилиты способны работать, по крайней мере, с популярным форматом zip, а некоторые также поддерживают архивы rar или LZH. Другие архиваторы часто обещают большую эффективность и большую гибкость. Вопрос заключается в том, какой формат лучшего всего оправдывает себя, если принимать во внимание уровень сжатия и время архивации/распаковки? Будут ли разные утилиты давать одну и ту же производительности при работе с такими популярными файловыми контейнерами, как zip?
Конечно, у нас нет возможности протестировать все доступные архиваторы и утилиты, поэтому мы сконцентрировались на самых популярных (по информации download.com). Лидерами сегодня являются WinRAR и WinZip. Но мы также взяли 7zip и FreeArc. Давайте посмотрим, что могут сделать эти архиваторы для вас.

Особенности архивации



Есть некоторые факторы, которые следует принимать во внимание при выборе подходящего архиватора.

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

Что вас интересует: сжатие или архивация? Для группы небольших файлов, которые необходимо отправить по электронной почте, высокая степень сжатия не так и важна, но имеет смысл объединить все эти файлы в один архив, поскольку работать с ним будет удобнее. Тем более что многие коммерческие приложения обеспечивают высокий уровень интеграции в операционную систему, что позволяет выбирать все необходимые функции простым щелчком правой клавиши мыши по файлам или папкам в Windows Explorer. Лучше всего выбирать популярные контейнеры, такие как zip или rar, если вы хотите отправить данные людям, которых вы не очень хорошо знаете. Скорее всего, многие пользователи смогут открыть и распаковать файлы zip или rar, чего нельзя сказать о других менее популярных форматах.
Ситуация иная, если вы хотите уменьшить размер файла. В данном случае можно попытаться найти не такую популярную, но более мощную утилиту. Впрочем, при этом имеет смысл ознакомиться и с историей утилиты, насколько регулярно она обновлялась и будут ли доступны обновления, когда вы перейдёте на новую операционную систему. Кроме того, не помешает выбирать такую утилиту, чей контейнер могут считывать и распаковывать другие программы.

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

Лучший уровень сжатия позволяет снизить размер файла, но время архивации может значительно увеличиваться. Современные архиваторы, как правило, оптимизированы под многопоточность, то есть они могут выигрывать от двух- или четырёхъядерных процессоров. Впрочем, по-прежнему существуют некоторые программы, которые нагружают только одно вычислительное ядро. Важно также понимать, что некоторые типы данных, такие как документы или файлы с большим числом повторяющихся участков, можно сжать довольно сильно, хотя другие данные сжимать вообще не имеет смысла, чтобы не тратить лишнее время (их следует просто копировать в архив). Фотографии JPEG, установочные файлы программ и другие подобные данные уже сжаты, поэтому вы не сможете повторно серьёзно снизить размер файла. Как правило, вы получаете незначительно уменьшение размера файла при архивации фотографий или установочных пакетов.
Скорость обработки является вторичной, если вам просто нужно запаковать файлы для отправки по электронной почте, но она становится уже более важной, если вам требуется архивировать большой объём данных. Например, архивация 50 Гбайт разных данных может выполняться так же быстро, как простое копирование файлов, если вы ограничите себя минимальным уровнем сжатия, но она может занять несколько часов на обычном компьютере, если вы решите выбрать максимальный режим сжатия.

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

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

Поддержка командной строки

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

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

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

Дополнительные ограничения

Впрочем, есть ещё некоторые ограничения, связанные, как правило, с большими размерами файлов и старыми контейнерами. Zip в спецификации 2.0 поддерживает размер архива только до 2 Гбайт, да и один отдельный файл может быть не больше 2 Гбайт. С разделами вашего жёсткого диска могут наблюдаться схожие проблемы: FAT32 на старых системах Windows не понимает файлы больше 4 Гбайт. Если вам потребуется создать более крупный архив, то придётся переходить на NTFS. Наконец, современные утилиты архивации могут потреблять большое количество памяти, так как крупные словари (где содержатся повторяемые фрагменты) обычно находятся в оперативной памяти. Поэтому лучшую производительность вы получите только тогда, когда ваша утилита архивации не будет упираться в объём доступной памяти.

7zip 9.1 Beta
7zip — утилита архивации с открытым исходным кодом, скачать которую можно на сайте 7zip.org. Она поддерживает распаковку разных форматов, а также несколько форматов для сжатия. На web-сайте заявлено, что 7zip сжимает в формат zip на 2-10% лучше, чем другие программы. Имеется в виду уровень сжатия по сравнению с уровнями сжатия в опубликованном сравнении шести разных утилит архивации, использующих формат zip.
Впрочем, реальным преимуществом 7zip можно всё же назвать собственный формат под названием 7z. Архитектура формата открытая, она позволяет добавлять 256-битное шифрование файлов AES, что мы как раз выполняли в статье «Intel Core i5 (Clarkdale): анализ аппаратного ускорения шифрования AES». В ней мы рассмотрели преимущества производительности новых двуядерных процессоров Intel Clarkdale (Core i5) при использовании шести новых инструкций ускорения шифрования и расшифровки AES. Шифрование AES поддерживается форматами 7z и zip. В случае 7z вы можете не обнаружить больших преимуществ по производительности, несмотря на наличие новых инструкций: дело в том, что алгоритм 7z уже довольно «тяжёлый», он уже значительно замедляет процесс архивации, так что ускорение AES сказывается слабо.
Формат 7zip не очень сильно распространён, но всё равно он поддерживается другими утилитами архивации, такими как IZArc, PowerArchiver, TUGZip и WinRAR. Как правило, 7zip использует сжатие LZMA (LZ77), но есть возможность применения других алгоритмов. LZMA может работать со словарями разного размера вплоть до 4 Гбайт (требует 64-битную ОС). 7zip 9.1 также поддерживает и более продвинутый алгоритм LZMA2. 7zip может работать с командной строкой, либо можно использовать стандартный графический интерфейс Windows, в который встраивается утилита. Доступно целых 74 локализованных языковых версий утилиты, да и программа может работать под разными версиями Windows от Windows 98 до Windows 7. В отличие от WinZip, которая остаётся одной из самых популярных утилит сжатия, 7zip полностью оптимизирована под многопоточность, поэтому в достаточной степени выигрывает от нескольких вычислительных ядер.

FreeArc 0.60
Утилиту архивации FreeArc можно скачать с сайта freearc.org, при этом она описывается как современный архиватор, быстрый, но эффективный. На сайте говорится о том, что эта утилита может работать вплоть до 3x раз быстрее, чем лучшие программы архивации — вероятно, авторы имеют в виду WinZip и другие популярные продукты. Утилита может работать через командную строку или через графический интерфейс, а список преимуществ на сайте впечатляет: программа даже способна переключаться между разными алгоритмами сжатия в зависимости от типа файла. Конечно, это помогает максимизировать степень сжатия, но также привязывает вас к архиватору FreeArc, поскольку другие решения вряд ли смогут распознать или распаковать ваши архивы. Если судить по web-сайту, то поддерживаются 11 алгоритмов, что звучит впечатляюще. Впрочем, на сайте не указывается, что все эти алгоритмы относятся к сжатию — они могут касаться чтения или распаковки архивов. Можно также подключать внешние программы для обработки или фильтрации данных.
В пределах объёма до 1 Гбайт программа способна находить повторы (REP), повторы в тексте (LZP), предварительно обрабатывать исполняемые файлы (BCJ), да и FreeArc может сортировать файлы таким образом, чтобы максимально использовать преимущество от подобных функций. Быстрый режим сжатия автоматически приведёт к использованию GRZIP для текстов и Tornado для двоичных данных.
FreeArc также может добавлять шифрование, чтобы защищать ваши архивы. Поддерживаются алгоритмы AES, Blowfish, Twofish и Serpent. Также есть поддержка самораспаковывающихся архивов, объединения архивов, пережатия, блокировки и добавления комментариев. Впрочем, сохраняются не все атрибуты файлов. Кроме того, по-прежнему не выпущено 64-битной версии FreeArc, да и поддержка многотомных архивов отсутствует.
Данная утилита хорошо подойдёт для тех, кто не против потратить немного времени и усилий, чтобы подстроить архиватор под собственное окружение. Версия 0.7, которая вскоре должна выйти, сделает программу «такой же простой в работе, что и WinRAR». Разработчики планируют позднее добавить полную поддержку форматов rar и 7z.

WinRAR 3.92 Beta 1
Мы уже довольно давно используем этот архиватор для наших тестов, поскольку это одно из самых популярных решений архивации с поддержкой многопоточности. В данной статье мы использовали последнюю версию 3.92 beta 1, которая работала вполне надёжно и стабильно. Утилита WinRAR полностью поддерживает архивы rar и zip, а также может распаковывать архивы CAB, ARJ, LZH, TAR, GZ, ACE, UUE, BZ2, JAR, ISO, 7Z и Z. Подобно другим утилитам, она также поддерживает командную строку или работает через графический интерфейс, что подойдёт как энтузиастам, так и обычным пользователям. WinRAR поддерживает создание самораспаковывающихся архивов и шифрование архивов с помощью алгоритма AES с ключом до 128 бит.
WinRAR поставляется с Мастером архивации — приятное дополнение для новичков, поскольку он поможет справиться со всем шаг за шагом. WinRAR также поддерживает создание многотомных архивов. Это может показаться не таким важным, но вы по достоинству оцените эту функцию, когда вам потребуется отослать большой объём данных по электронной почте, а почтовый ящик адресата принимает письма строго ограниченного размера. В таком случае WinRAR можно использовать, чтобы разбить архив на несколько частей, которые вы легко сможете отослать по отдельности. Для WinRAR существует большое количество аддонов, которые позволяют улучшить функциональность утилиты под разными операционными системами.
После версии 3.91 WinRAR поддерживает формат 7z с алгоритмом LZMA2 (распаковка), что может тоже оказаться на руку, поскольку этот формат показывает прекрасные результаты сжатия. Существуют 32- и 64-битные версии архиватора под разные операционные системы, но они мало влияют на производительность. Пока что WinRAR 3.92 beta 1 доступен в 15 разных языках. Наконец, отметим, что вы можете менять внешний вид утилиты с помощью разных тем.

WinZip 14
Наконец, в нашем сравнении принимает участие утилита WinZip, которую можно скачать на сайте winzip.com. Эта утилита очень популярна (особенно в англоязычных странах), но в наших тестах она оказалась двоякой. С одной стороны, она хорошо интегрируется в операционную систему, пользоваться утилитой очень легко. Версия 14 прекрасно подходит под интерфейс Windows Vista. С другой стороны, WinZip по-прежнему не умеет распределять нагрузку по нескольким вычислительным ядрам с помощью потоков. Другими словами: утилита работает ужасно медленно при использовании LZMA или максимального уровня сжатия, а с обычным уровнем сжатия zip она занимает среднюю позицию. При выборе максимального уровня сжатия утилита выбирает оптимальный алгоритм в зависимости от типа файла, который нужно заархивировать.
WinZip может создавать три разных типа архивов: zip, zipx и LHA. Но распаковывать файлы утилита может из намного большего списка форматов: rar, 7z, BZ2, JAR, образы (img, iso) и файлы cab. Если вы работаете с объёмными архивами в zip, то наверняка обрадуетесь тому, что WinZip 14 может создавать архивы zip больше 4 Гбайт. Программа также позволяет пользователям добавлять 128- или 256-битное шифрование AES для обеспечения защиты данных. А функция автоматического стирания гарантирует, что временно извлечённые файлы из зашифрованных архивов будут сразу же удаляться. Отметим и то, что WinZip 14 может ускоряться использованием новых инструкций Intel AES на некоторых процессорах Core i5 (все настольные и большинство мобильных версий).
Мы не смогли проверить все функции WinZip, поскольку их набор впечатляюще длинный. Поддержка Windows 7 сама по себе уже достаточно полная, поскольку утилита поддерживает жесты на сенсорных дисплеях, предварительный просмотр в Explorer, jump-списки для облегчения доступа к функциям zip и файлам. Последняя версия также поддерживает изменение разрешения фотографий через интеграцию в Explorer перед тем, как вы сожмёте их в архив для отправки по электронной почте. Другие утилиты тоже дают высокий уровень интеграции, но набор функций не такой обширный. WinZip может разбивать архивы zip на несколько томов, а встроенный клиент FTP может автоматически загружать архивные копии на внешний ftp-сервер (версии Backup и Pro). Есть поддержка командной строки, а также и создания самораспаковывающихся архивов.



Поделись статьей с друзьями


74 просмотров



Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: