The original "lzop" implementation, released in 1996, was developed by Markus Franz Xaver Johannes Oberhumer, based on earlier algorithms by
Abraham Lempel and
Jacob Ziv. The LZO library implements a number of algorithms with the following characteristics: • Higher compression speed compared to
DEFLATE compression • Very fast decompression • 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 ratio and compression speed, without affecting the speed of decompression LZO supports overlapping compression and in-place decompression. As a block compression algorithm, it compresses and decompresses blocks 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 incompressible data by a maximum of 1/64 of the original size when measured over a block size of at least 1 kB.{{cite web == Implementations ==