Какой архиватор лучше?

Какой архиватор лучше?

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

Основные сценарии использования архиваторов:

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

Последний случай я использую для создания архивов ценных файлов и записи на диск/выкладывания в сеть. Пока что больше сценариев использования на ум не приходит. Если у вас есть что добавить, пишите в комментариях – поразмышляем :) .

Цель данной статьи – определить, какой архиватор в каких сценариях ведет себя наилучшим образом. Тестирование очень приблизительное, с большими погрешностями, но все же в результатах будет отчетливо видно, кто на что горазд. Будем использовать 3 самых популярных архиватора: 7z, Win Rar и Win Zip.

Какие файлы сжимаются хорошо, а какие сжимать нецелесообразно?

Хорошо сжимаемые:

  • текстовые файлы и документы Office, кроме docx, xlsx (они уже и так сжаты)
  • изображения BMP, TIFF, PSD (и другие форматы несжатого типа)
  • WAV файлы
  • некоторые EXE, DLL файлы, которые не сжаты упаковщиком (их становится все меньше, и меньше)
  • Uncompressed video (обычно весит ооочень много с заоблачным битрейтом и неплохо поддается сжатию)

Плохо сжимаемые:

  • архивные файлы (rar, zip, 7z, LHA, Tar, Gz, Jar и т.п.)
  • Jpeg, jpg, gif, png (изображения сжатого типа)
  • mp3, wma, aac (сжатые аудио файлы)
  • AVI, MPEG, WMV, FLV (сжатые видео файлы)

Т.е. сжатию хорошо поддаются только те данные, которые предварительно не сжаты.

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

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

Сжатие без потерь используется всеми без исключения архиваторами. Т.е. может быть восстановлен каждый бит данных. Это значит, что в фото и видео файлах должны находиться области с идентичными пикселями, что практически невозможно. В видео основной параметр, определяющий коэффициент сжатия (отношение объема исходных данных к объему сжатых) – это динамичность сцены. Сжатие с потерями представлено тучей кодеков: jpg, mp3, avi, mpeg, wmv… Оно более эффективно, т.к. позволяет намного (иногда даже в разы) уменьшить объем файла, а субъективное качество останется без изменения. Заметные изменения в файле называются артефактами сжатия. Поэтому для достижения оптимального соотношения объем/качество необходимо «поиграться» с настройками кодеков. В частности, с битрейтом видео и аудио.

Для тестирования взята папка размером 500 Мб с количеством файлов 2444. Каждый тест проводился по 3 раза и брался средний результат. К слову, расхождения составляли всего 1-2 секунды.

7Z

7z загрузка процессора

7z процесс сжатия

7z создание архива

7z использует все доступные ядра. Загрузка маленькая, потому что нужно выставить большее число потоков при создании архива. Метод сжатия LZMA2 отличается от LZMA тем, что можно указывать большое количество потоков. PPMd обычно используют для текстовых документов. Размер словаря и размер слова желательно указывать как можно больше, но это увеличение (+ увеличение количества потоков) будет сказываться на увеличении потребляемой оперативной памяти. Прирост скорости от игры с настройками будет минимальный. Поэтому лучше пользоваться только уровнем сжатия.

Во время процесса 7z дает исчерпывающую информацию о скорости сжатия, количестве оставшихся и сжатых файлов, степени и времени сжатия.

Win Rar

win rar загрузка процессора

win rar процесс сжатия

Win Rar более эффективно использует доступное процессорное время. В ходе сжатия показывается, какой файл преобразуется, прошедшее и оставшееся время. Прямо во время процесса можно поменять уровень сжатия, нажав на «Параметры операции», если не устраивает скорость, например.

Win Zip

win zip загрузка процессора

win zip процесс сжатия

Win Zip также эффективно использует процессор (наконец-то научился), но по ходу выполнения процесса информация выдается минимальная (только сжимаемый файл в данный момент времени).

Теперь все-таки перейдем к результатам тестов.

Архиватор

Уровень сжатия

Время сжатия,

мин:сек

Размер выходного файла, Мб

7z

Ultra

4:09

322

7z

нормальный

2:29

325

7z

скоростной

1:23

340

7z

без сжатия

0:06

500

Win Rar

максимальный

3:14

334

Win Rar

обычный

3:08

334

Win Rar

скоростной

0:56

343

Win Rar

без сжатия

0:12

500

Win Zip

максимальный

0:20

342

Win Zip

скоростной

0:19

342

Win Zip

без сжатия

0:07

500

Посчитаем коэффициент сжатия для каждого архиватора при максимальном качестве.
коэффициенты сжатия архиваторов

Сжатие при максимальном уровне отличается не особо. Причем параметры настроек брались дефолтные. Если их подкрутить, результаты будут отличаться в лучшую сторону, правда незначительно, а время работы увеличится существенно. Но сам факт, что бесплатный архиватор 7z выиграл у двух его платных конкурентов, вызывает как минимум уважение.

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

При оценке скорости архивирования на первое место с огромным отрывом выходит Win Zip, который так часто ругают. Раньше он был однопоточным, сейчас все три архиватора поддерживают многопоточность. При максимальном уровне сжатия он в 10 раз! быстрее Win Rar и в 12 раз 7z.

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

Отсюда вывод:

  • для повседневных нужд пользоваться можно любым архиватором
  • кому нужна максимальная скорость, можно посоветовать Win Zip
  • кому нужен минимальный объем — 7z

Ваш комментарий

Ваш e-mail не будет опубликован.

*


*


Твитнуть