Deflate

CL implementation of Deflate


Deflate Decompression Implementation in Common Lisp

The Deflate library is a native Common Lisp implementation of Deflate (RFC 1951) decompression, with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952) wrappers of deflate streams. It currently does not handle compression, although this is a natural extension.

The implementation should be portable across all ANSI compliant CL implementations, but has been optimized mostly for SBCL and CMU CL (and other implementations that can generate fast code for word-sized integer calculations based on standard type declarations), and somewhat (mostly the otherwise very expensive CRC-32 calculations) for Lispworks. The performance is still a bit off from zlib/gzip (by a factor of around 3-3.5 on my systems), and while much of the performance loss is likely to be in the stream-based I/O, a less naive implementation of the huffman decoding step is also likely to benefit performance a bit.

The implementation is licensed under an MIT/X-style license (see the file COPYING in the distribution).

The current release can be downloaded from here:

or you can get the release, sources and git repository access from the project's page at GitHub: