Для распространения архивов через Интернет, как правило, приоритетными являются следующие вещи:
- Степень сжатия (т. Е. Насколько маленький компрессор создает данные);
- Время декомпрессии (требования к процессору);
- Требования к памяти для декомпрессии; а также
- Совместимость (насколько широко распространена программа декомпрессии)
Требования к памяти и процессору для сжатия не очень важны, потому что вы можете использовать для этого большую быструю машину, и вам нужно сделать это только один раз.
По сравнению с bzip2, xz имеет лучшую степень сжатия и меньшее (лучшее) время декомпрессии. Однако для этого - при обычно используемых настройках сжатия - требуется больше памяти для распаковки [1], и он несколько менее распространен. Gzip использует меньше памяти, чем любой.
Итак, оба архива в формате gzip и xz размещены, что позволяет вам выбрать:
- Необходимо распаковать на машине с очень ограниченной памятью (<32 МБ): gzip. Учитывая, не очень вероятно, когда речь идет об источниках ядра.
- Нужно распаковать минимум доступных инструментов: gzip
- Хотите сэкономить время загрузки и / или пропускную способность: xz
На самом деле не существует реалистичной комбинации факторов, которая заставила бы вас выбрать bzip2. Так что это постепенно прекращается.
Я посмотрел на сравнения сжатия в блоге . Я не пытался повторить результаты, и я подозреваю, что некоторые из них изменились (в основном, я ожидаю, xz
что улучшились, так как он самый новый).
(Существуют некоторые конкретные сценарии, в которых хорошая реализация bzip2 может быть предпочтительнее xz: bzip2 может сжимать файл с большим количеством нулей и последовательностей ДНК генома лучше, чем xz. Более новые версии xz теперь имеют (необязательный) режим блокировки, который позволяет восстанавливать данные после точки повреждения и параллельного сжатия и [в теории] декомпрессии. Ранее, только bzip2 предлагал это. [2] Однако ни один из них не имеет отношения к распределению ядра)
1: в размере архива, xz -3
вокруг bzip -9
. Затем xz использует меньше памяти для распаковки. Но xz -9
(как, например, используемый для тарболлов ядра Linux) использует гораздо больше, чем bzip -9
. (И даже xz -0
нужно больше чем gzip -9
).
2: Изменение всей системы F21: lbzip2 как реализация bzip2 по умолчанию