# Fast compression for Haskell ByteStrings This library implements Haskell bindings to [QuickLZ](http://quicklz.com), a fast compression library. The interface is very simple: ```haskell compress :: ByteString -> ByteString decompress :: ByteString -> ByteString decompress' :: ByteString -> ByteString -- overlapping decompression ``` As the name states, QuickLZ is fast - at both compression and decompression. Per their own benchmarks, at compression level 1, QuickLZ 1.5.0 has a compression speed of 308Mbyte/s, and a decompression speed of 358Mbyte/s (their benchmarks, Core i7 920.) [travis-ci.org](http://travis-ci.org) results: [![Build Status](https://secure.travis-ci.org/thoughtpolice/hs-quicklz.png?branch=master)](http://travis-ci.org/thoughtpolice/hs-quicklz) # Installation Just use cabal: ``` cabal install quicklz ``` # Join in File bugs in the GitHub [issue tracker][]. Master [git repository][gh]: * `git clone https://github.com/thoughtpolice/hs-quicklz.git` # Authors See `AUTHORS.txt`. # License. GPLv2. See `LICENSE.txt` for terms of copyright and redistribution. # TODO This package has some benchmarks and tests associated - I would like to expand the benchmarks to include bigger data sets in the future. There is currently only an interface for strict `ByteString`s. I would like to implement the streaming mode functionality sometime in the future, perhaps tying it to John Millikin's [enumerator](http://hackage.haskell.org/package/enumerator) package. [issue tracker]: https://github.com/thoughtpolice/hs-quicklz/issues [gh]: https://github.com/thoughtpolice/hs-quicklz