LZMA

LZMA for Lempel - Ziv - Markov-kjeden algoritme er en algoritme for datakomprimering uten tap i utvikling frem til 2001 og brukt i formatet 7z- program 7-Zip , StuffitX og noen andre arkivere, samt dedikerte kontroller til datakomprimering, xz og lzma. Den bruker ordbokskomprimering ganske lik LZ77 og tilbyr et høyt kompresjonsforhold (generelt sterkere enn Bzip2 ) og variabel kompresjonsordbokstørrelse (opptil 4  GB ).

Foruten det høyere kompresjonsforholdet, har den den doble fordelen at den er raskere enn bzip2 for lave kompresjonsforhold, men fremfor alt at den er raskere enn bzip2 ved dekomprimering og med et høyere kompresjonsforhold. På den annen side har den ulempen at den er veldig treg og forbruker i minnet under kompresjon med høye kompresjonsforhold. Når du bruker de sterkeste kompresjonsforholdene (-9 og -e), krever det 311 MB RAM for komprimering og 33 MB RAM for dekompresjon.

En ny versjon av LZMA, LZMA2 , erstatter den i XZ- format , som vil erstatte .lzma- formatet (med nye funksjoner, spesielt integritetskontroll). 7-Zip støtter LZMA2 siden versjon 9.04 beta (utgitt på30. mai 2009) og gjorde det til standard kompresjonsformat siden versjon 9.30 alpha (utgitt på 26. oktober 2012). WinRAR tillater dekompresjon av 7z arkiver ved bruk av LZMA2 siden versjon 3.91 (utgitt på15. desember 2009).

Bruker

7-Zip er en arkiverer som bruker LZMA-komprimering som standard. Dens forfatter, russiske Igor Pavlov , skapte den rundt utviklingspakken til LZMA. SDK og 7-zip ble portet til POSIX- miljøer i P7zip .

Utviklingssettet ga i sine første versjoner blant annet den kjørbare "lzma" som er en enkel strømkompressor (verktøy som kan sammenlignes med bzip2). Lzma- verktøyet komprimerer filer ved å legge til en .lzma- utvidelse på slutten av filnavnet. Bruken av dette filformatet frarådes sterkt av designere fordi dette formatet ikke har en dataintegritetssjekk. Spesielt ignorerer lzma- verktøyet eventuelle ekstra data på slutten av filen; slike data tolkes vanligvis som en feil av andre programmer av samme type.

Så designerne opprettet en ny versjon av settet sitt, kalt xz, og legger til en integritetssjekksum i filene. De anbefaler bruk av disse XZ- verktøyene , som blant annet tillater bruk av LZMA-algoritmen, sammen med en integritetskontrollalgoritme. Xz-verktøyene har en syntaks som ligner på lzma-verktøyene, og lar filer dekomprimeres i dette formatet.

Pxz- verktøyet (for "parallell xz" også til stede i 7-Zip gjør det mulig å utføre LZMA-komprimering ved å distribuere den over flere prosessorer. Dette har fordelen av å akselerere denne typen komprimering på flerprosessorarkitekturer, men på grunn av den variable størrelsen på pakkene behandlet i denne algoritmen, for å ha en mindre effektiv kompresjonshastighet enn versjonen av enkeltprosessoren.

Bruker

Å ha en veldig god kompresjonshastighet og utmerket dekompresjonshastighet har gjort det mulig å bruke dette formatet i komprimerte filsystemformater som er tilgjengelige skrivebeskyttet.

LZMA kan brukes på toppen av tjære arkivet , som bzip2- eller gzip. Noen versjoner av tjære ( for eksempel for busybox ) administrerer LZMA-arkiver (.tar.lzma).

Siden LZMA naturlig støtter multitrading , kan det være raskere enn å bruke bzip2. I dag er det en flertrådet versjon av bzip2 under navnet pbzip2 som gir samme type hastighetsforsterkning.

Tillatelse

LZMA SDK har blitt offentliggjort siden versjon 4.62.

Merknader og referanser

  1. (no) testbed gzip / bzip2 / LZMA .
  2. Historie med 7-zip-endringer
  3. WinRAR-historie (arkivert versjon)
  4. program man side
  5. (in) PXZ - Parallell LZMA-kompressor ved bruk av liblzma

Eksterne linker