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:
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 ByteString
s.
I would like to implement the streaming mode functionality sometime in
the future, perhaps tying it to John Millikin’s
enumerator package.