libflate

libflate Documentation Actions Status Coverage Status License: MIT

A Rust implementation of DEFLATE algorithm and related formats (ZLIB, GZIP).

Documentation

See RustDoc Documentation.

The documentation includes some examples.

Installation

Add following lines to your Cargo.toml:

toml [dependencies] libflate = "2"

An Example

Below is a command to decode GZIP stream that is read from the standard input:

```rust extern crate libflate;

use std::io; use libflate::gzip::Decoder;

fn main() { let mut input = io::stdin(); let mut decoder = Decoder::new(&mut input).unwrap(); io::copy(&mut decoder, &mut io::stdout()).unwrap(); } ```

An Informal Benchmark

A brief comparison with flate2 and inflate:

```bash $ cd libflate/flate_bench/ $ curl -O https://dumps.wikimedia.org/enwiki/latest/enwiki-latest-all-titles-in-ns0.gz $ gzip -d enwiki-latest-all-titles-in-ns0.gz

ls -lh enwiki-latest-all-titles-in-ns0 -rw-rw-r-- 1 foo foo 265M May 18 05:19 enwiki-latest-all-titles-in-ns0

$ cargo run --release -- enwiki-latest-all-titles-in-ns0

ENCODE (input_size=277303937)

DECODE (input_size=74217004)

References