Share to: share facebook share twitter share wa share telegram print page

 

Lempel-Ziv-Oberhumer

Lempel-Ziv-Oberhumer (kurz LZO) ist ein Algorithmus für verlustfreie Allzweck-Datenkompression, der eine vergleichsweise hohe Geschwindigkeit beim Entpacken erreicht. Es ist ein Wörterbuch-Algorithmus, der von Markus Franz Xaver Johannes Oberhumer auf Basis der Entwicklungen von Abraham Lempel und Jacob Ziv entwickelt wurde.

Eine frühe Variante des Algorithmus wurde erstmals im März 1996 in den Internet-Newsgroups „comp.compression“ und „comp.compression.research“ veröffentlicht.

Merkmale

Der Algorithmus ist für den Echtzeit-Einsatz ausgelegt und verzichtet auf eine höhere Packrate zugunsten von höchsten Verarbeitungsgeschwindigkeiten. Des Weiteren bietet diese Bibliothek asymmetrische Eigenschaften mit Einstellungen für gründlichere Komprimierung bei gleichbleibender Dekomprimierungsgeschwindigkeit. Weitgehend unabhängig von den Kompressoreinstellungen liefert der Dekompressor typischerweise ein Vielfaches des Datendurchsatzes von gzip.[1]

Die Kompression hat je nach Einstellung zwischen 8 über normalerweise 64 bis hin zu 256 kBytes an Speicherbedarf. Daten werden von LZO in Blöcken à 256 kBytes abgearbeitet.

Einsatz

Die Referenzimplementierung ist eine kleine (~5 kB), in ISO/ANSI-C geschriebene, threadsichere Programmbibliothek und ein darauf aufbauendes Werkzeug namens lzop („the Lempel-Ziv-Oberhumer Packer“), das sich bis auf wenige Details wie gzip verhält. Beide werden als freie Software auch im Quelltext unter den Bedingungen der GNU General Public License verbreitet. Neben der C-Implementierung der Bibliothek gibt es auch Implementierungen in Perl, Python und Java[2]. Sie ist plattformunabhängig implementiert und wurde auf einer großen Anzahl unterschiedlichster Plattformen erfolgreich kompiliert und betrieben. Unter allen populären Linux-Distributionen kann sie mit der integrierten Paketverwaltung direkt aus den Standard-Paketdepots installiert werden.[3][4][5][6] lzop kann mit der GNU-Implementierung von tar ab Version 1.21 vom 27. Dezember 2008 mit einer eigens geschaffenen Option (--lzop) direkt aus dem Programm heraus verwendet werden.[7] In UPX ist LZO-Komprimierung als Standard-Algorithmus integriert. In Apaches Hadoop-Framework kann LZO-Komprimierung mit einem Zusatzmodul eingebunden werden.[8] Bei vielen komprimierenden Dateisystemen wie btrfs, ZFS und UBIFS kommt LZO zum Einsatz oder ist eine der verfügbaren Optionen. Software wie OpenVPN kann ihre Datenübertragungen durch Rechnernetze mit LZO komprimieren. Der Linux-Kernel unterstützt LZO.

In vielen Fällen kann die LZO-Komprimierung wesentlich schneller sein als der Datendurchsatz anderer Glieder der Verarbeitungskette, sodass der zusätzliche Einsatz im Endeffekt zu einem Leistungsgewinn führt, da die Entlastung der schwächeren Kettenglieder durch vorherige Reduzierung des Datenaufkommens mittels LZO mehr Aufwand einsparen als die LZO-Kompression benötigt. Beispielsweise ist LZO vielfach schneller als gebräuchliche Verschlüsselungsalgorithmen. Besonders gewinnbringend wirkt eine solche (natürlicherweise inhaltsabhängige) Einsparung, wenn ein Flaschenhals entsteht, da andere Glieder der Verarbeitungskette auf das schwächste Glied warten müssen. Da LZO-Dekompression in der Regel deutlich schneller ist als Festplattenlesegeschwindigkeit, können beispielsweise durch den Einsatz von UPX Programmstarts beschleunigt werden.

Quellen

  1. http://aliver.wordpress.com/2010/06/22/huge-unix-file-compresser-shootout-with-tons-of-datagraphs/
  2. https://github.com/dgelessus/old-lzo-ports
  3. http://packages.ubuntu.com/lzop
  4. Archivierte Kopie (Memento des Originals vom 25. Januar 2016 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/apps.fedoraproject.org
  5. http://software.opensuse.org/search?q=lzop
  6. http://doc4.mandriva.org/xwiki/bin/view/upmi/component/lzop@1@2Vorlage:Toter Link/doc4.mandriva.org (Seite nicht mehr abrufbar, festgestellt im Dezember 2018. Suche in Webarchiven)  Info: Der Link wurde automatisch als defekt markiert. Bitte prüfe den Link gemäß Anleitung und entferne dann diesen Hinweis.
  7. Handbuch zu GNU tar
  8. http://wiki.apache.org/hadoop/UsingLzoCompression
Kembali kehalaman sebelumnya


Index: pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve 
Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9