Що сталося з bzip1?


40

bzip2 був фактично стандартом для досить сильного стиснення протягом багатьох років. Я сам набрав bzip2команду тисячі разів до цього, що змушує мене замислитися - що сталося з bzip, або bzip1? Google, схоже, не дуже мені розповідає про це, і здається, це може бути цікавим уроком історії.

Відповіді:


32

Здається, що оригінал bzipбув витягнутий приблизно в 1998 році через проблеми з патентами на арифметичну компресію, використану в. Трохи копання (насправді лише для читання Вікіпедії) з'являється заархівоване посилання на bzip2веб-сайт приблизно з цього часу .

Ось відповідний розділ детально описує цю та інші відмінності:

Як це стосується вашої попередньої пропозиції (bzip-0,21)?

bzip2 - це переписана та перероблена версія 0,21. Це виглядає поверхово досить схоже, але майже повністю переписане (кілька разів :-). Важливі відмінності:

  • Без патенту! (Сподіваюся; див. Твердження вище). bzip-0,21 використовується арифметичне кодування; bzip2 використовує кодування Хаффмана, яке, як правило, з точки зору патенту вважається непроблемним. Обидві програми базуються на перетворенні Берроуз-Вілер, але, наскільки мені відомо, це теж не запатентоване.

  • Швидше, особливо при декомпресії. bzip2 декомпресується більш ніж на 50% швидше, ніж 0,21, в основному через використання кодування Хаффмана. Я також покращив швидкість стиснення, хоча і не дуже - можливо, вона стискає на 30% швидше, ніж 0,21.

  • Відновлення від помилок у ЗМІ. Обидві програми стискають дані в блоки за замовчуванням довжиною 900 к. За допомогою bzip2 кожен блок обробляється повністю незалежно, несе власну контрольну суму і обмежується 48-бітовою послідовністю. Отже, якщо у вас пошкоджений стислий файл, bzip2 може витягти стислі блоки, виявити, які з них не пошкоджені, і розпакувати їх.

  • Тестовий режим. Ви можете перевірити цілісність стислих файлів, не потребуючи їх розпакування. Я мав би поставити це на 0,21, насправді, але було занадто ліниво (+ вигорання з взломом до моменту його випуску).

  • Набагато краще обробляє дуже повторювані файли. Такі файли є найгіршим випадком для будь-якого компресора сортування блоків. bzip2 працює приблизно в десять разів швидше, ніж 0,21 для таких файлів.

  • Підтримка менших машин. bzip2 може розпакувати будь-який файл, створений ним у 2300k, а це означає, що ви можете розпакувати файли на 4-мега-машинах. Пікове використання пам'яті під час стиснення також скорочується приблизно на 900 к у порівнянні з 0,21, приблизно до 6400 к.

  • Краще поводження з прапором. Зокрема, підтримуються довгі прапори (--like - це), що полегшує використання.

  • Одно рядкове повідомлення про запуск, яке надрукувало 0,21, відсутнє. Це було 0,21 найбільшою скаргою. Це навіть мене зараз клопоче.

Я більше не поширюю 0,21, оскільки це продовжує проблеми з патентами, що гарантує, що програма ніколи не буде широко використовуватися. Це прикро, адже це корисна програма, і багатьом людям, здається, подобається. Якщо ви вже використовуєте 0,21, оновіть до bzip2. На жаль, я не можу зробити так, щоб bzip2 не міг розпаковувати файли .bz 0.21, оскільки це призведе до безглуздості вправи на уникнення патенту. Я знаю, що змінити формати файлів болісно; відтепер я спробую внести будь-які подальші зміни назад сумісним способом.

Це також посилання на версію bzipвихідного коду, що використовується лише для декомпресії, для тих, хто хоче грати з ним.


5
Напевно, десь є оригінальний bzip в архівах архіву. Раніше я його широко використовував, і переконався, що перехід на bzip2 дратує. У більшості файлів bzip отримав кращий коефіцієнт стиснення.
Жуль

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.