Home

Awesome

Lizard - efficient compression with very fast decompression

Lizard (formerly LZ5) is a lossless compression algorithm which contains 4 compression methods:

Lizard library is based on frequently used LZ4 library by Yann Collet but the Lizard compression format is not compatible with LZ4. Lizard library is provided as open-source software using BSD 2-Clause license. The high compression/decompression speed is achieved without any SSE and AVX extensions.

BranchStatus
lz5_v1.5Build Status Build status
lizardBuild Status Build status

Benchmarks

The following results are obtained with lzbench and -t16,16 using 1 core of Intel Core i5-4300U, Windows 10 64-bit (MinGW-w64 compilation under gcc 6.2.0) with silesia.tar which contains tarred files from Silesia compression corpus.

Compressor nameCompressionDecompress.Compr. sizeRatio
memcpy7332 MB/s8719 MB/s211947520100.00
lz4 1.7.3440 MB/s2318 MB/s10088080047.60
lz4hc 1.7.3 -198 MB/s2121 MB/s8759176341.33
lz4hc 1.7.3 -455 MB/s2259 MB/s7980790937.65
lz4hc 1.7.3 -922 MB/s2315 MB/s7789228536.75
lz4hc 1.7.3 -1217 MB/s2323 MB/s7784976236.73
lz4hc 1.7.3 -1610 MB/s2323 MB/s7784178236.73
lizard 1.0 -10346 MB/s2610 MB/s10340297148.79
lizard 1.0 -12103 MB/s2458 MB/s8623242240.69
lizard 1.0 -1550 MB/s2552 MB/s8118733038.31
lizard 1.0 -193.04 MB/s2497 MB/s7741640036.53
lizard 1.0 -21157 MB/s1795 MB/s8923917442.10
lizard 1.0 -2330 MB/s1778 MB/s8109717638.26
lizard 1.0 -266.63 MB/s1734 MB/s7450369535.15
lizard 1.0 -291.37 MB/s1634 MB/s6869422732.41
lizard 1.0 -30246 MB/s909 MB/s8572742940.45
lizard 1.0 -3294 MB/s1244 MB/s7692945436.30
lizard 1.0 -3547 MB/s1435 MB/s7385040034.84
lizard 1.0 -392.94 MB/s1502 MB/s6980752232.94
lizard 1.0 -41126 MB/s961 MB/s7610066135.91
lizard 1.0 -4328 MB/s1101 MB/s7095565333.48
lizard 1.0 -466.25 MB/s1073 MB/s6541306130.86
lizard 1.0 -491.27 MB/s1064 MB/s6067921528.63
zlib 1.2.8 -166 MB/s244 MB/s7725902936.45
zlib 1.2.8 -620 MB/s263 MB/s6822843132.19
zlib 1.2.8 -98.37 MB/s266 MB/s6764454831.92
zstd 1.1.1 -1235 MB/s645 MB/s7365946834.75
zstd 1.1.1 -2181 MB/s600 MB/s7016895533.11
zstd 1.1.1 -588 MB/s565 MB/s6500220830.67
zstd 1.1.1 -831 MB/s619 MB/s6102649728.79
zstd 1.1.1 -1116 MB/s613 MB/s5952316728.08
zstd 1.1.1 -154.97 MB/s639 MB/s5800777327.37
zstd 1.1.1 -182.87 MB/s583 MB/s5529424126.09
zstd 1.1.1 -221.44 MB/s505 MB/s5273193024.88
brotli 0.5.2 -0217 MB/s244 MB/s7822697936.91
brotli 0.5.2 -296 MB/s283 MB/s6806662132.11
brotli 0.5.2 -524 MB/s312 MB/s6080171628.69
brotli 0.5.2 -85.56 MB/s324 MB/s5738247027.07
brotli 0.5.2 -110.39 MB/s266 MB/s5113805424.13

Documentation

The raw Lizard block compression format is detailed within lizard_Block_format.

To compress an arbitrarily long file or data stream, multiple blocks are required. Organizing these blocks and providing a common header format to handle their content is the purpose of the Frame format, defined into lizard_Frame_format. Interoperable versions of Lizard must respect this frame format.