Плюсы и минусы bzip против gzip?

67252
ripper234

Я знаю gzip много лет, недавно я увидел, как bzip используется на работе. Являются ли они в основном эквивалентными, или есть существенные плюсы и минусы одного из них над другим?

109
Хотя это старый вопрос с правильным и правильным ответом, я хотел бы указать людям на этот результат Google: http://tukaani.org/lzma/benchmarks.html, так как он разбивает его дальше Mayhem 8 лет назад 2
Разве bzip для сжатия и gzip для архивирования? juniorRubyist 7 лет назад 0
@juniorRubyist источник? ripper234 7 лет назад 0
Я только что услышал это. Я забыл где. juniorRubyist 7 лет назад 0

6 ответов на вопрос

135
Gilles

Gzip и bzip2 функционально эквивалентны. (Когда-то был bzip, но, похоже, он полностью исчез с лица земли.) Другие распространенные форматы сжатия: zip, rar и 7z; эти три файла выполняют сжатие и архивирование (упаковывая несколько файлов в один). Вот некоторые типичные оценки с точки зрения скорости, доступности и типичной степени сжатия (обратите внимание, что эти оценки несколько субъективны, не воспринимайте их как Евангелие):

decompression speed (fast > slow): gzip, zip > 7z > rar > bzip2 compression speed (fast > slow): gzip, zip > bzip2 > 7z > rar compression ratio (better > worse): 7z > rar, bzip2 > gzip > zip availability (unix): gzip > bzip2 > zip > 7z > rar availability (windows): zip > rar > 7z > gzip, bzip2 

Как видите, нет явного победителя. Если вы хотите полагаться на программы, которые, вероятно, уже установлены, используйте zip в Windows (или, если возможно, самораспаковывающиеся архивы, поскольку Windows не поставляется с любым из них) и gzip в unix. Если вы хотите максимальное сжатие, используйте 7z.

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

насколько я могу судить, все версии Windows, начиная с XP, могут открывать zip-файлы непосредственно с помощью файлового менеджера. Lie Ryan 14 лет назад 2
`bzip2` менее доступен, чем` gzip`? Какие системы UNIX * не * поставляются с `bzip2`? new123456 13 лет назад 1
@ new123456 В OpenBSD gzip находится в базовой системе, но bzip2 должен быть установлен из пакета. Многие маршрутизаторы * WRT включают gzip, но не bzip2. Gilles 13 лет назад 21
@ Жиль Я могу подтвердить, что в моей версии DD-WRT: 08/12/10 (версия SVN: 14929) нет bzip2, но есть gzip. Urda 12 лет назад 2
@ Жиль, а как насчет pbzip? shgnInc 9 лет назад 0
@shgnInc Менее доступен, чем `bzip2`. Что касается скорости, это зависит от того, сколько процессоров у вас есть. Хм, я должен добавить хз. Gilles 9 лет назад 0
[нужна цитата] mlainz 8 лет назад 0
@mlainz Оригинальное исследование. Это не Википедия. Gilles 8 лет назад 7
`unrar` - утилита распаковки rar с открытым исходным кодом. Jop V. 8 лет назад 0
@JopV. Последнее, что я посмотрел, было несколько вариантов формата rar, которые unrar с открытым исходным кодом не поддерживал. Я не помню, какие это были варианты, но у меня в руках были rar-архивы, которые работали только с версией с закрытым исходным кодом. Gilles 8 лет назад 0
23
Lie Ryan

Насколько я могу судить, gzip работает быстрее, а bzip - лучше (меньше).

Кроме того, gzip, кажется, немного лучше поддерживается, особенно в Windows .. Dentrasi 14 лет назад 0
@Dentrasi: winrar / 7zip поддерживают оба, в чем проблема? whitequark 14 лет назад 5
@whitequark: быть широко поддерживаемым в основном важно для Unix, поскольку пользователи могут не иметь root-доступа и работать с тем, что уже установлено. Также относится к средам Windows, где пользователь не имеет прав администратора (школы / библиотеки / и т. Д.). Matthew 11 лет назад 0
@ Мэтью, вам не нужны права администратора, чтобы использовать много портированных бесплатных программ, включая 7zip. whitequark 11 лет назад 4
У вас есть статистика или источники, подтверждающие это? IQAndreas 8 лет назад 0
@IQAndreas: некоторые тесты: [1] (http://tukaani.org/lzma/benchmarks.html), [2] (http://bashitout.com/2009/08/30/Linux-Compression-Comparison-GZIP -vs-BZIP2-vs-LZMA-vs-ZIP-vs-Compress.html), [3] (https://www.rootusers.com/gzip-vs-bzip2-vs-xz-performance-comparison/) Lie Ryan 8 лет назад 1
4
Rich Homolka

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

Ваш выбор между универсальностью (.gz) и немного большим сжатием (.bz2). Только вы можете сказать, что вас волнует больше.

Одним из преимуществ .gz является то, что он может сжимать поток, последовательность, в которой вы не можете смотреть назад. Это делает его официальным компрессором потоков http. Из-за этого мне нужно было один раз использовать gzip, но вряд ли вам нужно будет об этом думать.

3
Scott McClenning

Вот список сайтов, которые тестируют алгоритмы сжатия, чтобы найти только bzip и gzip, вам придется немного покопаться, но большинство сайтов перечислят характеристики алгоритмов. Таким образом, вы можете сравнить, что важно для вас, размер (степень сжатия), время, память, процессор.
http://www.maximumcompression.com/benchmarks/benchmarks.php

1
Sathya

По моему опыту, bzip предлагает неизменно лучшие коэффициенты сжатия, чем gzip. Кроме того, с помощью 7zip в качестве менеджера и алгоритма bzip, 7zip может использовать многоядерные процессоры.

1
Hugh Perkins

Согласно http://tukaani.org/lzma/benchmarks.html, gzip сжимает в два раза быстрее, чем bzip2, и распаковывает в десять раз быстрее.

Например, для использования с кешированием s3, на travis и т. Д., Где вам нужна скорость сжатия / распаковки, а не только небольшие размеры, gzip может быть хорошим компромиссом.

Похожие вопросы