Navigation Menu

Skip to content
This repository has been archived by the owner on Sep 22, 2019. It is now read-only.

thoughtpolice/hs-quicklz

Repository files navigation

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.

About

Haskell binding to the QuickLZ library

Resources

License

Stars

Watchers

Forks

Packages

No packages published