LZMA

LZMA pentru Lempel - Ziv - algoritmul lanțului Markov este un algoritm pentru compresia datelor fără pierderi în dezvoltare până în 2001 și utilizat în formatul 7z program 7-Zip , StuffitX și alți arhivatori, precum și controalele dedicate pentru compresia datelor, xz și lzma. Folosește o compresie de dicționar destul de similară cu LZ77 și oferă un raport de compresie ridicat (în general mai puternic decât Bzip2 ) și o dimensiune variabilă de dicționare de compresie (până la 4  GB ).

Pe lângă rata de compresie mai mare, are dublul avantaj de a fi mai rapid decât bzip2 pentru rapoarte de compresie scăzute, dar mai ales de a fi mai rapid decât bzip2 în timpul decompresiei și la un raport de compresie mai mare. Pe de altă parte, are dezavantajul de a fi foarte lent și consumă în memorie în timpul compresiei cu rapoarte de compresie ridicate. Atunci când utilizați cele mai puternice rapoarte de compresie (-9 și -e), este nevoie de 311 MB RAM pentru compresie și 33 MB RAM pentru decompresie.

O nouă versiune a LZMA, LZMA2 , o înlocuiește în formatul XZ , care va înlocui formatul .lzma (aducând noi caracteristici, în special verificarea integrității). 7-Zip acceptă LZMA2 de la versiunea 9.04 beta (lansată pe30 mai 2009) și l-a făcut formatul de compresie implicit de la versiunea 9.30 alfa (lansat pe 26 octombrie 2012). WinRAR permite decompresia arhivelor 7z folosind LZMA2 de la versiunea 3.91 (lansată pe15 decembrie 2009).

Utilizări

7-Zip este un arhivator care folosește compresia LZMA în mod implicit. Autorul său, rusul Igor Pavlov , l-a creat în jurul setului de dezvoltare LZMA. SDK și 7-zip au fost portate în medii POSIX în P7zip .

Kitul de dezvoltare a furnizat în primele sale versiuni, printre altele, executabilul "lzma" care este un compresor de flux simplu (utilitar comparabil cu bzip2). Instrumentul lzma comprimă fișierele prin adăugarea unei extensii .lzma la sfârșitul numelui de fișier. Utilizarea acestui format de fișier este puternic descurajată de designeri, deoarece acest format nu are o verificare a integrității datelor. În special, instrumentul lzma ignoră orice date suplimentare la sfârșitul fișierului; astfel de date sunt interpretate de obicei ca o eroare de către alte programe de același tip.

Astfel, designerii au creat o nouă versiune a kitului lor, numită xz, adăugând o sumă de verificare a integrității fișierelor. Ei recomandă utilizarea acestor instrumente XZ , care permit, printre altele, utilizarea algoritmului LZMA, împreună cu un algoritm de control al integrității. Instrumentele xz au o sintaxă similară cu cea a instrumentelor lzma și permit decomprimarea fișierelor în acest format.

Instrumentul pxz (pentru „xz paralel” prezent și în 7-Zip permite efectuarea compresiei LZMA distribuind-o pe mai multe procesoare. Acest lucru are avantajul de a accelera acest tip de compresie pe arhitecturi multiprocesor, dar datorită dimensiunii variabile a pachetelor procesate în acest algoritm, pentru a avea o rată de compresie mai puțin eficientă decât versiunea cu un singur procesor.

Utilizări

Având o rată de compresie foarte bună și o viteză excelentă de decompresie, acest format a putut fi utilizat în formatele de sistem de fișiere comprimate accesate numai în citire.

LZMA poate fi utilizat deasupra arhivarului de gudron , cum ar fi bzip2 sau gzip. Unele versiuni de tar (cea de busybox de exemplu) gestionează arhivele LZMA (.tar.lzma).

Deoarece LZMA suportă nativ multithreading , poate fi mai rapid decât utilizarea bzip2. Astăzi există o versiune multithreaded a bzip2 sub numele pbzip2 care oferă același tip de câștig de viteză.

Licență

SDK LZMA a fost plasat în domeniul public de la versiunea 4.62.

Note și referințe

  1. (ro) tested gzip / bzip2 / LZMA .
  2. Istoricul modificărilor 7-zip
  3. Istoric WinRAR (versiune arhivată)
  4. program de om pagina
  5. (în) PXZ - Compresor LZMA paralel folosind liblzma

linkuri externe