Lempel -Ziv Oberhumer (short: LZO ) is a data compression algorithm for general-purpose lossless data compression, which achieves an extremely high speed comparatively unpacked. It is a dictionary algorithm which has been developed by Markus Franz Xaver Johannes Oberhumer on the basis of developments by Abraham Lempel and Jacob Ziv.
An early version of the algorithm was first published in March 1996 in Internet newsgroups " comp.compression " and " comp.compression.research ".
The algorithm is designed for real-time use and dispensed to a higher packing ratio in favor of the highest processing speeds. Furthermore, this library provides asymmetric properties with settings for more thorough compression at constant decompression speed. Largely independent of the compressor settings provides the decompressor typically a multiple of the data throughput of gzip.
The compression has depending on the setting between 8 through normally 64 to 256 Kbytes of memory. Data are processed of 256 kBytes of LZO in blocks.
The reference implementation is a small (~ 5 kb ), written in ISO / ANSI -C, thread-safe program library and that build tool called lzop ( "the Lempel -Ziv Oberhumer Packer " ), which behaves except for a few details such as gzip. Both are available as free software distributed in source code under the terms of the GNU General Public License. In addition to the C implementation of the library, there are also implementations in Perl, Python and Java. It is implemented platform independent and has been successfully compiled and run on a large number of different platforms. Among all popular Linux distributions it can be installed directly from the standard repositories with the integrated package management. lzop can with the GNU implementation of tar since version 1.21 dated 27 December 2008, with an option specially created - to be used directly from within the program ( lzop ). In UPX LZO compression is integrated as a standard algorithm. In Apache Hadoop framework can LZO compression can be integrated with an additional module. In many compressed file systems like btrfs, ZFS and LZO UBIFS is used or is one of the available options. Software like OpenVPN can compress their data transmissions by computer networks with LZO. The Linux kernel supports LZO.
In many cases it may be much faster than the throughput of other elements of the processing chain, the LZO compression, so the additional use in the end leads to a performance gain, since the discharge of the weaker links by LZO save more effort by previous reduction of the data volume than the LZO compression needs. For example, LZO is many times faster than conventional encryption algorithms. Especially profitable acts such ( naturally or content-based ) savings, if a bottleneck occurs, as other members of the production chain have to wait for the weakest link. Since LZO decompression is usually much faster than disk read speed can be accelerated, for example through the use of UPX program starts.