- Lempel-Ziv-Oberhumer
Lempel-Ziv-Oberhumer (LZO) is a
lossless data compression algorithm that is focused on decompression speed.A
free software tool which implements it islzop . The original library was written inANSI C , and it has been made available under theGNU General Public License . Versions of LZO are available for thePerl , Python and Java languages. Thecopyright for the code is owned by Markus F. X. J. Oberhumer.The LZO library implements a number of algorithms with the following features:
* Compression is comparable in speed todeflate compression.
* On modern architectures, decompression is "very" fast; in non-trivial cases able to exceed the speed of a straight memory-to-memory copy due to the reduced memory-reads.
* Requires an additional buffer during compression (of size 8 kB or 64 kB, depending on compression level).
* Requires no additional memory for decompression other than the source and destination buffers.
* Allows the user to adjust the balance between compression quality and compression speed, without affecting the speed of decompression.LZO supports overlapping compression and in-place decompression.
LZO is a block compression algorithm — it compresses and decompresses a block of data. Block size must be the same for compression and decompression.
LZO compresses a block of data into "matches" (a sliding dictionary) and "runs" of non-matching literals to produce good results on highly redundant data and deals acceptably with non-compressible data, only expanding uncompressible data by a maximum of 1/64th of the original size when measured over a block size of at least 1kB.
Various LZO implementations are reported to work under
Win32 , AIX, ConvexOS,IRIX ,Mac OS ,Palm OS , PS1 (Sony PlayStation ), Solaris,SunOS , TOS (Atari ST),Linux andVxWorks .External links
* [http://www.oberhumer.com/opensource/lzo/ www.oberhumer.com LZO source page]
* [http://www.lzop.de/ LZO/LZOP binary downloads]
* [http://bouchez.info/lzo.html Arnaud Bouchez's LZO Delphi implementation]
Wikimedia Foundation. 2010.