streamly-lz4: Streamly combinators for LZ4 compression

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]


Compress and decompress streams of data using LZ4 compression. See .

[Skip to Readme]


Versions 0.1.0, 0.1.1, 0.1.1, 0.1.2
Change log
Dependencies base (>=4 && <5), exceptions (>=0.8 && <0.11), fusion-plugin-types (>=0.1 && <0.2), streamly (>=0.8.1 && <0.8.2) [details]
License Apache-2.0
Copyright 2020 Composewell Technologies
Author Composewell Technologies
Category Codec, Compression, Streamly
Home page
Bug tracker
Source repo head: git clone
Uploaded by adithyaov at 2022-01-03T17:38:39Z




Manual Flags


Use fusion plugin for benchmarks and executables


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


Maintainer's Corner

For package maintainers and hackage trustees

Readme for streamly-lz4-0.1.1

[back to package description]


This library uses the LZ4 compression algorithm to compress and decompress a data stream using Haskell Streamly.

Running benchmarks downloads and unpacks the caterbury corpus used for benchmarking.

Run the following commands from the top level directory in the repo:

$ ./
$ cabal run bench-lz4 -- --quick

To use fusion-plugin for benchmarks:

$ cabal run --flag fusion-plugin bench-lz4 -- --quick

Benchmarking an external corpus

BENCH_STREAMLY_LZ4_FILE is looked up for file to benchmark. This should contain the absolute path of the target file.

BENCH_STREAMLY_LZ4_STRATEGY is looked up for which benchmarking combinator to run on the target file.

It can contain values of the following structure,

c corresponds to compress, d for decompress and r for resizing.


$ export BENCH_STREAMLY_LZ4_FILE="path/to/file/"
$ export BENCH_STREAMLY_LZ4_STRATEGY="c+400+640000"
$ cabal bench

The commands above runs the compression bench suite on path/to/file/ with the acceleration value of 500 read as arrays of size 640000 bytes.

Note: For the decompression and resizing bench suite a compressed file is expected as input.