quicklz: binding to QuickLZ compression library

[ codec, gpl, library ] [ Propose Tags ]

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

This package includes the QuickLZ 1.5.0 source code, with compression level 1 and streaming currently 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.


[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 (>=3 && <5), bytestring (>=0.9 && <0.10) [details]
License GPL-2.0-only
Author Austin Seipp
Maintainer as@hacks.yi.org
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 2011-08-11T00:05:42Z
Distributions LTSHaskell:1.5.0.11, NixOS:1.5.0.11, Stackage:1.5.0.11
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 7883 total (37 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.7

[back to package description]

hs-quicklz: haskell bindings to quicklz

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 - very fast at both compression and decompression. Per its 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.) 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.