quicklz: QuickLZ compression for ByteStrings

[ codec, gpl, library ] [ Propose Tags ]

This package provides a high level binding to the QuickLZ compression library for ByteStrings, under the GPLv2 license. QuickLZ is fast and compresses very well. Check out the home page: http://quicklz.com

This package includes the QuickLZ 1.5.0 source code, at compression level 1 and streaming mode disabled.

The versioning scheme for this package is unusual. QuickLZ tries to be as fast as possible, and will break backwards compatibility to achieve it in newer versions. This versioning scheme reflects the QuickLZ versioning scheme: the first three digits of version w.x.y.z are the quicklz version, with the z component (and any further needed ones) being updates to this package, not quicklz itself.


[Skip to Readme]

Modules

[Index]

Flags

Automatic Flags
NameDescriptionDefault
memory-safe

enable quickLZ memory safety checks

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 1.5.0.1, 1.5.0.2, 1.5.0.3, 1.5.0.4, 1.5.0.5, 1.5.0.6, 1.5.0.7, 1.5.0.8, 1.5.0.9, 1.5.0.10, 1.5.0.11
Dependencies base (<5), bytestring (>=0.9) [details]
License GPL-2.0-only
Author Austin Seipp
Maintainer mad.one@gmail.com
Category Codec
Home page http://github.com/thoughtpolice/hs-quicklz
Bug tracker https://github.com/thoughtpolice/hs-quicklz/issues
Source repo head: git clone https://github.com/thoughtpolice/hs-quicklz.git
Uploaded by AustinSeipp at 2012-09-01T19:18:59Z
Distributions LTSHaskell:1.5.0.11, NixOS:1.5.0.11, Stackage:1.5.0.11
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 7850 total (41 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for quicklz-1.5.0.11

[back to package description]

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.