Битва архиваторов: zip vs gzip vs bzip2 vs xz
Сравним популярные архиваторы и компрессоры для Linux. Что лучше: gzip или bzip2? Конечно, xz!
Опустим ту часть, где читателю объясняется кто такие эти архиваторы и перейдем к результатам тестирования.
Сжатие текста gzip, bzip2, xz, zip
Для проверки сжатия текстов традиционно использовалась Библия — Bible in Basic English.
Сжатие отрывка в 4 Мб дало следующие результаты:
4467663 bbe
1282842 bbe.zip
1282708 bbe.gz
938552 bbe.xz
879807 bbe.bz2
Фрагмент в 41 Мб:
41M big2.txt
15M big2.txt.zip
15M big2.txt.gz
11M big2.txt.bz2
3.6M big2.txt.xz
Фрагмент в 64 Мб:
64M 65427K big3.txt
26M 25763K big3.txt.zip
26M 25763K big3.txt.gz
24M 23816K big3.txt.bz2
2.2M 2237K big3.txt.xz
В заключении для всех архиваторов были заданы максимальные настройки сжатия:
zip -9 big3.txt.zip big3.txt
gzip -9 -c big3.txt >> big3.txt.gz
bzip2 -9 -c big3.txt >> big3.txt.bz2
xz -e -9 -c big3.txt >> big3.txt.xz
И были получены следующие результаты:
64M 65427K big3.txt
25M 25590K big3.txt.zip
25M 25590K big3.txt.gz
24M 23816K big3.txt.bz2
2.2M 2218K big3.txt.xz
Сжатие видео
Для опытов использовалось видео в формате AVI, сжатое кодеком XviD, размером в 700 Мб. Результаты следующие:
700 MB file.avi
694 MB file.avi.zip
694 MB file.avi.gz
694 MB file.avi.xz
693 MB file.avi.bz2
Далее издевательствам были подвергнуты следующие типы контента:
Бинарные данные (6,092,800 байт), взятые из /usr/bin
Текстовые данные (43,100,160 байт), взятые из /usr/src/linux-headers-2.6.28-15
MP3 (191,283,200 байт), произвольная выборка MP3-файлов
JPEG (266,803,200 байт), произвольная выборка фотографий в JPEG
MPEG (432,240,640 байт), произвольная выборка видео в MPEG
AVI (734,627,840 байт), произвольная выборка видео в AVI
Лучший архиватор под Linux
Там, где нагрузка на процессор не критична, авторы статьи рекомендуют использовать xz — это самый сильный архиватор под Linux. В остальных случаях следует использовать gzip, который дает самое слабое сжатие, зато очень быстр и не грузит процессор.
Комментарии
pomodor
8 января, 2011 - 03:03
Никогда не слышал про xz, но раз алгоритм там используется LZMA, то вряд ли он окажется сильнее моего любимого 7-Zip.
Кстати, вспоминаю один курьез, связанный с bzip2. Как-то, когда был молодым и неопытным, забирал с хостинга одну директорию мегабайт где-то в 250. Все заtarил, и решил попробовать bzip2 -9, чтобы сэкономить время на загрузке. Про такую приятную команду, как nice тогда еще не знал. :) Сервер, понятное дело, сильно призадумался, остальные юзеры настучали, а я получил строгий, но справедливый выговор от хостера. :)
Чингачгук
8 января, 2011 - 09:49
Сам впервые услышал про него, когда archlinux перевел формат пакетов из tar.gz в tar.xz.
Чингачгук
8 января, 2011 - 13:04
XZ использует LZMA2, а 7z просто LZMA.
pomodor
8 января, 2011 - 13:06
Почему Вы так решили?
comrade
8 января, 2011 - 11:21
Где 7-zip? Иностранцы хреновы!
((-:
________________
(А в библии то много избыточной информации, оказывается! ;-))))
Чингачгук
8 января, 2011 - 13:02
7zip это тот же LZMA.
pomodor
9 января, 2011 - 19:51
В любом тексте содержится избыточность и лично меня это радует. Иначе речь была бы неразборчивой.
Чингачгук
9 января, 2011 - 19:02
Лично я предпочитаю при выборе архиватора обращать внимание на переносимость между компьютерами, совместимость с другими системами, распространённость и, наконец, надёжность хранения и извлечения архивируемой информации.
P.S. Был приятно удивлён, что моё понимание архивации совпало с принятым в Linux: TAR - архиватор :-), а остальные - программы сжатия :-)).
Чингачгук
4 августа, 2011 - 13:13
А о скорости сжатия мило умалчиваем? Статья явно ламерская.
Dmitry
4 августа, 2011 - 14:28
Графики 2 и 3 вам в помощь.
Чингачгук
17 октября, 2014 - 17:30
Ну подождете лишний часок, зато сэкономите драгоценные MB. Мне с мобильным интернетом, мощным процессором и маленьким SSD это гораздо важнее, чем скорость
Чингачгук
16 апреля, 2020 - 23:51
Нет выигрыша в 10 раз с текстами, если их писали люди. В сравнении с gzip выигрыш если и есть, меньше 30%, я не дождался - не хватило и 2 часов, там где gzip справляется за 5-10 минут. Памяти жрёт неимоверно, раз в 60 больше.
Texnoline
19 апреля, 2020 - 08:27
бесплатный сыр в мышеловке, только мышка платить жизнью:) ничего бесплатного не бывает, все имеет свою цену! Памяти жрет, так поставь ее больше, нет возможности, копи ресурсы и меняй железо, где будет возможность установить больше памяти...все просто!
Комментировать