Сравнение архиваторов RAR и BZIP2 (использование, эффективность, сравнение, писание алгоритмов работы)

Сравнение архиваторов

Тест 1 – огромная директория JPEG. Это несколько несправедливо, потому что файлы JPEG сжатию практически не подлежат, но в них есть сжимаемые метаданные.

Тест 2 – пять порций данных по 100 MБ каждая, взятых с жесткого диска, на котором установлен Linux. Здесь должны быть смешанные данные, предоставляющие отличные шансы для сжатия.

Тест 3 – псевдослучайная подборка репрезентативных файлов из дистрибутива Linux. Она включает множество текстовых файлов, но есть в ней и некоторые хитрости, например, файл ISO с мини-дистрибутивом, музыка и крупные бинарники Linux.

Выше приведенные тесты проводились на двуядерной машине 2,6 Ггц с Fedora 14 и 4 ГБ ОЗУ DDR2 [4]. Все указанные скорости приведены исключительно для сравнения, и все утилиты сжатия были использованы с настройками по умолчанию, если не указано иное. Результаты тестирования архиваторов RAR и bzip2 приведены на рисунке 1 и в таблице 1 [4].

RAR график

Вердикт: Полезен только для обмена файлами с пользователями Windows.

BZIP2 график

Вердикт: Быстр и широко используется, но за скоростью обращайтесь к lbzip2.

Таблица 1 - Сравнение инструментов архивирования

Архиватор Тест 1 – много изображений JPG Тест 2 – пять файлов размером 100 Мб Тест 3 – смешанная директория Распаковка
Скорость, Мб/с Экономия места Скорость, Мб/с Экономия места Скорость, Мб/с Экономия места Время, с (на все три файла) Скорость, Мб/с
RAR 2,79 2,27% 1,69 30,91% 1,76 35,80% 172 9,71
BZIP2 4,08 2,17% 4,93 29,64% 3,84 41,18% 182,8 9,14

Итак, RAR очень популярен на платформе Windows для рассылки больших файлов группам usenet, и утилита WinRAR для Windows имеет дей-ствительно большой спрос. Однако в системах Unix «родного» формата RAR практически не существует. Хотя производительность RAR и лучше, чем можно было ожидать. Не смотря на то, что его скорость ниже, ему на де-ле удается сэкономить место при работе с разными типами файлов. RAR легко справился с практически несжимаемыми файлами изображений, и он неплохо справился с большими образами диска и обычным фрагментом фай-ловой системы. Однако в качестве инструмента командной строки для Linux его использование ограниченно, и лучше всего он подходит в случаях, когда нужно взаимодействие с платформами Windows.

bzip2 известен среди пользователей Unix благодаря впечатляющим результатам сжатия по сравнению с тогдашним стандартом, утилитой gzip. Бу-дучи дальновидно написан практически идентичным в использовании, bzip2 скоро стал готовой заменой для всех типов и целей архивирования. Любопытно, что большая часть исходного кода предоставляется с помощью ком-бинации tar/bzip2 вместо обычной для того времени комбинации tar/gzip.

К сожалению, за минувшие с тех пор почти 15 лет bzip2 так и не сумел вытеснить gzip – изменить привычки пользователей Unix нелегко. Однако цифры, полученные в Тесте 3, показывают, что bzip2, работая на максимальном сжатии, высвободил несколько процентов места ценой четырехкратного увеличения времени.

 
Hosted by uCoz