My favorites | Sign in
Google Code will be turning read-only on August 25th. See this post for more information.
lz4
Project Home Issues Source
Project Information
Members
Links

Note : As Google Code is being closed, the new official LZ4 repository is now on Github => https://github.com/Cyan4973/lz4

LZ4 is a very fast lossless compression algorithm, providing compression speed at 400 MB/s per core, with near-linear scalability for multi-threaded applications. It also features an extremely fast decoder, with speed in multiple GB/s per core, typically reaching RAM speed limits on multi-core systems.

A high compression derivative, called LZ4_HC, is also provided. It trades CPU time for compression ratio.

Quick comparison : single thread, Core i5-3340M @2.7GHz, using the Open-Source Benchmark by m^2 (v0.14.2) compiled with GCC v4.6.1 on Linux Ubuntu 64-bits v11.10, using the Silesia Corpus

Name		Ratio  C.speed D.speed
                        MB/s    MB/s
LZ4 (r101)	2.084	 422	1820
LZO 2.06	2.106	 414     600
QuickLZ 1.5.1b6	2.237	 373	 420
Snappy 1.1.0	2.091	 323	1070
LZF		2.077	 270	 570
zlib 1.2.8 -1	2.730	  65	 280
LZ4 HC (r101)   2.720     25    2080
zlib 1.2.8 -6	3.099	  21	 300

The LZ4 block compression format is detailed here : http://fastcompression.blogspot.com/2011/05/lz4-explained.html

For interoperability between multiple versions for streaming and file compression scenarios of any size, a frame format has been published : http://fastcompression.blogspot.fr/2013/04/lz4-streaming-format-final.html

Download latest release source code (zip or tar.gz format)

License : the libraries (lz4, lz4hc and xxhash) are BSD license. The command line interface programs (lz4.exe, fullbench, fuzzer, datagen) are GPLv2.


Interoperable LZ4 versions :

The following versions are provided for languages beyond the C reference version. They are conformant with the LZ4 framing specification and are therefore interoperable.

Other Source versions :

The following versions compress data blocks using LZ4 compression algorithm in multiple languages. Each version encapsulates the compressed result into its own header/frame format convention.


What's new ?

Future versions will only be available through Github ! See https://github.com/Cyan4973/lz4/releases/latest

r130 : fix lz4cat issues

r130 : clang fast compression speed improved by +30%

r129 : LZ4_compress_fast() and new API

r129 : Compatibility with GCC5.0 auto-vectorizer

LZ4 r129+ are now only available from Github => LZ4 repository

r128 : lz4cli sparse file support ( issue 155 )

r128 : Restored lz4hc compression ratio

r128 : lz4frame supports skippable frames ( issue 150 )

r128 : Visual project Directory


Executable binaries


LZ4 is used by

If you know more of them, and feel they should be mentioned in this list, let us know. The easiest way to get in touch is via the Public discussion forum.


Public discussion

Public discussion forum is here: http://groups.google.com/group/lz4c

Post bug reports or feature request to the Issue Tracker: http://code.google.com/p/lz4/issues/list

Powered by Google Project Hosting