Bzip2: различия между версиями

Материал из I2P-ilita вики
Перейти к навигацииПерейти к поиску
(Неплохо бы почистить статью от лишних вики-ссылок и тегов)
 
Строка 1: Строка 1:
[[Вика]]
{{Вика}}
'''bzip2''' — бесплатная свободное программное обеспечение утилита командной строки открытым исходным кодом сжатия данных, реализация алгоритма Барроуза — Уилера.
'''bzip2''' — бесплатная свободное программное обеспечение утилита командной строки открытым исходным кодом сжатия данных, реализация алгоритма Барроуза — Уилера.


Строка 6: Строка 6:
== Эффективность ==
== Эффективность ==


В соответствии с традициями UNIX, bzip2 единовременно может выполнять только одну операцию: либо сжатие, либо распаковку и только для одного файла. При сжатии <code>bzip2</code> добавляет к имени файла [[Расширение имени файла|расширение]] «<code>.bz2</code>». Для упаковки нескольких файлов их сперва [[Архив (информатика)|архивируют]] в один файл утилитой <code>[[tar]]</code>, а затем [[Сжатие данных|сжимают]] при помощи <code>bzip2</code>. Такие архивы обычно имеют [[расширение имени файла|расширение]] «<code>.tar.bz2</code>».
В соответствии с традициями UNIX, bzip2 единовременно может выполнять только одну операцию: либо сжатие, либо распаковку и только для одного файла. При сжатии bzip2 добавляет к имени файла расширение «.bz2». Для упаковки нескольких файлов их сперва архивируют в один файл утилитой tar, а затем сжимают при помощи bzip2. Такие архивы обычно имеют расширение «.tar.bz2».


<code>bzip2</code> сжимает большинство файлов эффективнее, но медленнее, чем более традиционные утилиты <code>[[gzip]]</code> или <code>[[zip]]</code>. В этом отношении он похож на другие современные алгоритмы сжатия.
bzip2 сжимает большинство файлов эффективнее, но медленнее, чем более традиционные утилиты [[gzip]] или [[zip]]. В этом отношении он похож на другие современные алгоритмы сжатия.


<code>bzip2</code> выполняет сжатие данных с существенной нагрузкой на [[CPU]] (что обусловлено его математическим аппаратом). <code>bzip2</code> применяют, если нет ограничений на время сжатия и на нагрузку на [[CPU]], например, для разовой упаковки большого [[Ёмкость (информатика)|объёма]] данных.
bzip2 выполняет сжатие данных с существенной нагрузкой на CPU (что обусловлено его математическим аппаратом). bzip2 применяют, если нет ограничений на время сжатия и на нагрузку на CPU, например, для разовой упаковки большого объёма данных.


В некоторых случаях <code>bzip2</code> уступает по эффективности сжатия архиваторам <code>[[7-Zip]]</code> (метод сжатия [[LZMA]]) и <code>[[rar]]</code>. Согласно данным автора программы от 2005 года, метод сжатия <code>bzip2</code> уступает по эффективности сжатия на 10‑15 %<ref>[http://www.bzip.org/ bzip2 and libbzip2], «It typically compresses files to within 10 % to 15 % of the best available techniques (the PPM family of statistical compressors)»</ref> наилучшим методам, известным на тот момент ([[Алгоритм сжатия PPM|PPM]])<ref name="paqnote">На данный момент наиболее эффективно сжимают различные реализации метода [[PAQ]]. Однако, использование данного метода крайне затруднено по причине низкой производительности (сжатие требует больших временных затрат).</ref>, но при этом в 2 раза быстрее при сжатии и в 6 раз быстрее при распаковке.
В некоторых случаях <code>bzip2</code> уступает по эффективности сжатия архиваторам <code>[[7-Zip]]</code> (метод сжатия [[LZMA]]) и <code>[[rar]]</code>. Согласно данным автора программы от 2005 года, метод сжатия <code>bzip2</code> уступает по эффективности сжатия на 10‑15 %<ref>[http://www.bzip.org/ bzip2 and libbzip2], «It typically compresses files to within 10 % to 15 % of the best available techniques (the PPM family of statistical compressors)»</ref> наилучшим методам, известным на тот момент ([[Алгоритм сжатия PPM|PPM]])<ref name="paqnote">На данный момент наиболее эффективно сжимают различные реализации метода [[PAQ]]. Однако, использование данного метода крайне затруднено по причине низкой производительности (сжатие требует больших временных затрат).</ref>, но при этом в 2 раза быстрее при сжатии и в 6 раз быстрее при распаковке.
Строка 25: Строка 25:


Предшественник <code>bzip2</code>, программа <code>bzip</code>, вместо [[кодирование Хаффмана|кодирования Хаффмана]] использовала [[арифметическое кодирование]]. Из‑за [[патент]]ных ограничений от этого алгоритма отказались.
Предшественник <code>bzip2</code>, программа <code>bzip</code>, вместо [[кодирование Хаффмана|кодирования Хаффмана]] использовала [[арифметическое кодирование]]. Из‑за [[патент]]ных ограничений от этого алгоритма отказались.
= Примечания =
<references/>
[[Категория:Cофт]]

Версия 08:12, 15 октября 2017

Wiki.png ВИКИПЕДИЯ ДЕТЕКТЕД

Страница выполнена в излишне википедийном ключе. Или даже является копипастой с Википедии.
Возможно она годная, но в ней многовато вики-ссылок на несуществующие страницы, которые никогда не будут созданы.

bzip2 — бесплатная свободное программное обеспечение утилита командной строки открытым исходным кодом сжатия данных, реализация алгоритма Барроуза — Уилера.

Разработана и впервые опубликована Джулианом Сюардом в июле 1996 года (версия 0.15). Стабильность и популярность компрессора росли в течение нескольких лет, и версия 1.0 была опубликована в конце 2000 года.

Эффективность

В соответствии с традициями UNIX, bzip2 единовременно может выполнять только одну операцию: либо сжатие, либо распаковку и только для одного файла. При сжатии bzip2 добавляет к имени файла расширение «.bz2». Для упаковки нескольких файлов их сперва архивируют в один файл утилитой tar, а затем сжимают при помощи bzip2. Такие архивы обычно имеют расширение «.tar.bz2».

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

bzip2 выполняет сжатие данных с существенной нагрузкой на CPU (что обусловлено его математическим аппаратом). bzip2 применяют, если нет ограничений на время сжатия и на нагрузку на CPU, например, для разовой упаковки большого объёма данных.

В некоторых случаях bzip2 уступает по эффективности сжатия архиваторам 7-Zip (метод сжатия LZMA) и rar. Согласно данным автора программы от 2005 года, метод сжатия bzip2 уступает по эффективности сжатия на 10‑15 %[1] наилучшим методам, известным на тот момент (PPM)[2], но при этом в 2 раза быстрее при сжатии и в 6 раз быстрее при распаковке.

Описание алгоритма

Метод сжатия bzip2 работает следующим образом:

Приблизительный размер блока можно выбрать при помощи аргументов командной строки («-1» для 100 килобайт, «-2» для 200 КБ, …, «-9» для 900 КБ). Каждый блок сжимается независимо, сжатые блоки записываются последовательно друг за другом, в начале каждого используется 48-битная последовательность — магическое число 0x314159265359 (в кодировке ASCII при выравнивании на границу байта отображается как «1AY&SY»), то есть запись первых десятичных цифр числа π в формате BCD[3]. Конец файла помечается 48-битной константой 0x177245385090, представляющей собой корень из числа Пи.

Предшественник bzip2, программа bzip, вместо кодирования Хаффмана использовала арифметическое кодирование. Из‑за патентных ограничений от этого алгоритма отказались.

Примечания

  1. bzip2 and libbzip2, «It typically compresses files to within 10 % to 15 % of the best available techniques (the PPM family of statistical compressors)»
  2. На данный момент наиболее эффективно сжимают различные реализации метода PAQ. Однако, использование данного метода крайне затруднено по причине низкой производительности (сжатие требует больших временных затрат).