Чи слід використовувати компресію xz або lzma?


29

Мені було цікаво, оскільки в Ubuntu 10.10 я маю можливість створювати як архіви xz, так і lzma. Чи варто перейти на xz?

http://en.wikipedia.org/wiki/Xz

http://en.wikipedia.org/wiki/Lzma


Зауважте, що є також новіший тип архіву lz, який в основному був введений "з моменту цієї дискусії" stackoverflow.com/a/49456056/32453, тому не плутайте його із lzmaзгаданим тут :)
rogerdpack

Відповіді:


12

Цей орієнтир дає хорошу інформацію щодо цього питання. Здається, що LZMA має дещо кращі коефіцієнти стиснення та продуктивність, ніж XZ, але XZ, як правило, кращий через «практичні причини» (я не впевнений, що це таке).

XZ - це реалізація алгоритму lzma2, і він краще стискає "нестислимі" дані:

lzma2 - метод стиснення, застосовуваний 7-Zip компресором LZMA2. LZMA2 - це модифікована версія LZMA, яка пропонує кращий коефіцієнт стиснення для нестислимих даних (випадкові дані розширюються приблизно на 0,005%, порівняно з 1,35% з оригінальним LZMA) і, можливо, можуть стискати паралельно декілька частин великих файлів, що значно збільшує швидкість стиснення, але з можливим зниженням коефіцієнта стиснення (див. LZMANumBlockThreads). Як і LZMA, він може споживати багато пам'яті; див. вищевказану таблицю. Якщо рівень стиснення не вказаний, він за замовчуванням макс.

( http://www.jrsoftware.org/ishelp/index.php?topic=setup_compression )

Ви повинні бути в порядку, використовуючи будь-яке


З цікавості ви вирішили, що використовувати?
dv3500ea

1
Насправді після трохи тестування здається, що xz стане дорогою вперед. Це також економить на стисканні (10 мб) на двійкові речі понад lzma.
NightwishFan

8
Це було невідповідною відповіддю щодо "OK, використовуючи будь-яке". Навіть у той час, коли він розміщував це питання, відомо, що файли .lzma найближчим часом повністю будуть замінені .xz. Автор LZMA-Utils сказав публічно, що вони застаріли і використовують xz-utils з 5.00. Останній випуск LZMA-Utils був 2008-07-30, навіть у той час. Таким чином, стиснення мудро, покращення може бути не величезним визначальним фактором. (Як не іронічно, якщо це було) Але "політичні" причини повинні були стати вагомою причиною для використання XZ-Utils та уникати створення нових архівів .lzma.
Дж. М. Бекер

1
@TechZilla Чи розглядали ви як взяти на себе цю заяву як альтернативну відповідь?
ændrük

1
Практичні причини LZMA2 - це багатопотокова підтримка. Коефіцієнт продуктивності одиночної нитки та стиснення трохи нижчий, але в системі з декількома використаними ядрами очікується, що LZMA2 буде значно швидшим при декодуванні.
Джонатан Болдуін

42

Я не погоджуюся з висновком @ dv3500ea "Добре з використанням будь-якого", оскільки це було недоречно. Навіть на опубліковану дату / час, .lzmaяк відомо , файли були повністю замінені на .xz. Автор обох Utils сказав публічно , що користувачі повинні перейти на XZ-Utils ≥ 5,00. Останній випуск LZMA-Utils був 2008-07-30, і його припинено.

LZMA Utils - це застаріле програмне забезпечення для стиснення даних з високим ступенем стиснення. Утиліти LZMA більше не розробляються, хоча критичні помилки можуть бути виправлені до тих пір, поки їх виправлення не потребує великих змін у коді.

Користувачі LZMA Utils повинні перейти до XZ Utils. XZ Utils підтримує застарілий .lzmaформат, використовуваний LZMA Utils, а також може імітувати інструменти командного рядка LZMA Utils. Це повинно зробити перехід від LZMA Utils до XZ Utils порівняно простим.

Визначальним фактором може бути не стиснення, хоча за іронією долі це було для цього прикладу. "практичні причини" - це очевидна і важлива причина для використання XZ-Utils. Крім того, .xzформат дозволяє задавати алгоритми стиснення та фільтри, щоб .xzфайли могли використовувати або LZMA, або LZMA2. Уникайте створення нових .lzmaфайлів, вони вважаються застарілим форматом.

Що стосується навіть утримання LZMA-Utils навколо: не варто. XZ-Utils підтримує застарілі .lzmaфайли. У ньому також є обгортки для сценаріїв, які все ще використовують LZMA-Utils. Якщо всіх цих причин все ще було недостатньо, Ubuntu випустив застарілі lzma-utils зі свого сховища.


1
"Автор обох Utils сказав публічно, що користувачі повинні перейти на XZ-Utils ≥ 5.00." Потрібне цитування. :-)
Faheem Mitha

@FaheemMitha: Оскільки це посада, а не навчальна довідка чи оригінальне дослідження, цитування буде лише сторінкою проекту. Я припускав, що це було від автора LZMA-Utils, і він написав набори утиліт BOTH з наміром xz-utils замінити застарілі LZMA-Utils, це було само собою зрозуміло. ... Але для всіх, хто хоче отримати детальнішу інформацію, tukaani.org/lzma .
Дж. М. Бекер

3

Однозначно не слід використовувати lzma, як кажуть інші.

Антоніо Діас Діас, автор формату lzip, каже, що формат Xz є недостатнім для довготривалого архівування . Якщо ви хочете створити резервну копію важливих файлів, розгляньте інші формати файлів, такі як bzip2, який має інструмент відновлення корупції.


xz хтось вважає небезпечним. Це не стосується lzma.
окт

0

xz є кращим завдяки тому, що він має найбільшу швидкість стиснення. Однак він стискається повільніше, але це компенсує його стисненням.

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