A Rust implementation of DEFLATE algorithm and related formats (ZLIB, GZIP)
See the codeA Rust implementation of DEFLATE algorithm and related formats (ZLIB, GZIP).
The documentation includes some examples.
Add following lines to your Cargo.toml:
[dependencies]
libflate = "2"
Below is a command to decode GZIP stream that is read from the standard input:
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();
}
A brief comparison with flate2 and inflate:
$ 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)
- libflate: elapsed=8.137013s, size=83259010
- flate2: elapsed=9.814607s, size=74692153
# DECODE (input_size=74217004)
- libflate: elapsed=1.354556s, size=277303937
- flate2: elapsed=0.960907s, size=277303937
- inflate: elapsed=1.926142s, size=277303937
no_std sans-io DEFLATE / ZLIB / GZIP encoder and decoder with no dependencies.330 followers · starred Jun 2017
452 followers · starred May 2019
137 followers · starred Oct 2024
332 followers · starred Apr 2020
A Rust implementation of DEFLATE algorithm and related formats (ZLIB, GZIP)
See the codeA Rust implementation of DEFLATE algorithm and related formats (ZLIB, GZIP).
The documentation includes some examples.
Add following lines to your Cargo.toml:
[dependencies]
libflate = "2"
Below is a command to decode GZIP stream that is read from the standard input:
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();
}
A brief comparison with flate2 and inflate:
$ 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)
- libflate: elapsed=8.137013s, size=83259010
- flate2: elapsed=9.814607s, size=74692153
# DECODE (input_size=74217004)
- libflate: elapsed=1.354556s, size=277303937
- flate2: elapsed=0.960907s, size=277303937
- inflate: elapsed=1.926142s, size=277303937
no_std sans-io DEFLATE / ZLIB / GZIP encoder and decoder with no dependencies.330 followers · starred Jun 2017
452 followers · starred May 2019
137 followers · starred Oct 2024
332 followers · starred Apr 2020