Haskell binding to the QuickLZ library
C Haskell
Latest commit 3d3e5e5 Sep 1, 2012 @thoughtpolice Version 1.5.0.11
Signed-off-by: Austin Seipp <mad.one@gmail.com>
Permalink
Failed to load latest commit information.
Codec/Compression
bench
cbits
tests
.gitignore
.travis.yml
AUTHORS.txt
LICENSE.txt
README.md
Setup.hs
quicklz.cabal

README.md

Fast compression for Haskell ByteStrings

This library implements Haskell bindings to QuickLZ, a fast compression library. The interface is very simple:

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 results: Build Status

Installation

Just use cabal:

cabal install quicklz

Join in

File bugs in the GitHub issue tracker.

Master git repository:

  • 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 ByteStrings.

I would like to implement the streaming mode functionality sometime in the future, perhaps tying it to John Millikin's enumerator package.