LZO

LZO
Typ kompresní algoritmus [d]
Autor Markus Oberheimer
Operační systém multiplatformní
Jazyky rozhraní Angličtina
První vydání 1997
Nejnovější verze 2.10 (1. března 2017)
Licence GPLv2
webová stránka www.oberhumer.com/opensource…

LZO (zkr. Lempel-Ziv-Oberhumer  - Lempel-Ziv-Oberheimer) je algoritmus pro kompresi dat navržený k dosažení maximální rychlosti dekomprese v polovině 90. let. Algoritmus komprimuje data beze ztrát a jeho základní implementace podporuje vícevláknové provádění.

Bezplatný program, který implementuje LZO, je lzop . Původní knihovna byla napsána v ANSI C a je dostupná pod licencí GPL . Existují také implementace LZO v Assembly ( x86 ), Perl , Python , Java a .NET . Kód napsal Markus Oberheimer ( Markus FXJ Oberhumer )

Knihovna LZO implementuje několik algoritmů s následujícími vlastnostmi.

Vysoká rychlost algoritmu umožňuje jeho integraci do různých vysoce výkonných systémů, například v DBMS [1] , systémech zpracování dat [2] [3] , souborových systémech [4] [5] , pro rozbalení jader OS při spouštění [6] (včetně zařízení Samsung Android), systémy komprimované paměti [7] [8] . Používá se na několika planetách [9] .

Algoritmus je jedním z nejrychlejších dekompresních spolu s metodou LZ4 (LZ4 HC) vytvořenou na jeho základě, stejně jako řadou dalších kompresních algoritmů: Snappy , FastLZ , LZF [6] .

Mezi nedostatky patří absence jediné specifikace pro formát komprimovaného toku [10] . V původním dekompresním kódu před rokem 2014 došlo k chybě přetečení celého čísla. Rozšířené používání algoritmu vedlo k potenciální zranitelnosti mnoha projektů [9] [11] [12] .

Viz také

Poznámky

  1. Kódování LZO – Amazon Redshift . Získáno 31. října 2016. Archivováno z originálu 24. listopadu 2016.
  2. Paralelní LZO: Splittable Compression for Apache Hadoop – Cloudera Engineering Blog (downlink) . Získáno 31. října 2016. Archivováno z originálu 1. listopadu 2016. 
  3. Průvodce použitím komprese LZO v Hadoopu
  4. Btrfs LZO kompresní výkon - Phoronix . Získáno 31. října 2016. Archivováno z originálu 14. dubna 2016.
  5. Compression-btrfs Wiki . Získáno 31. října 2016. Archivováno z originálu 12. června 2017.
  6. 1 2 Archivovaná kopie (odkaz není k dispozici) . Získáno 31. října 2016. Archivováno z originálu 6. března 2016. 
  7. Archivovaná kopie . Získáno 31. října 2016. Archivováno z originálu 22. března 2016.
  8. Komprese paměti v jádře Archivováno 9. října 2021 na Wayback Machine , LWN.net
  9. 1 2 Raising Lazarus – The 20 Year Old Bug that Got to Mars Archived 22. října 2016 na Wayback Machine / The Lab Mouse Security research blog. "Algoritmus LZO se několikrát dostal na planetu Mars na zařízeních NASA"
  10. Formát streamu LZO, jak jej chápe linuxový dekompresor LZO Archivováno 9. června 2016 na Wayback Machine , Linux Kernel Documentation  ,
  11. V kompresním algoritmu LZO nalezena dlouhodobá bezpečnostní chyba | securityweek.com . Získáno 31. října 2016. Archivováno z originálu 1. listopadu 2016.
  12. Dvacet let stará zranitelnost v LZO konečně opravena Archivováno 1. listopadu 2016 na Wayback Machine / CSO Online

Odkazy