sile / Libflate
Licence: mit
A Rust implementation of DEFLATE algorithm and related formats (ZLIB, GZIP)
Stars: ✭ 125
Programming Languages
rust
11053 projects
Projects that are alternatives of or similar to Libflate
deflate-rs
An implementation of a DEFLATE encoder in rust
Stars: ✭ 47 (-62.4%)
Mutual labels: gzip, zlib
power-gzip
POWER9 gzip engine documentation and code samples
Stars: ✭ 16 (-87.2%)
Mutual labels: gzip, zlib
em inflate
Fast, small, in-memory inflate (zlib, deflate and gzip decompression)
Stars: ✭ 59 (-52.8%)
Mutual labels: gzip, zlib
zlib
Compression and decompression in the gzip and zlib formats
Stars: ✭ 32 (-74.4%)
Mutual labels: gzip, zlib
zlib
Pure javascript implementation of Zlib nodejs core module.The zlib module provides compression functionality implemented using Gzip and Deflate/Inflate.
Stars: ✭ 14 (-88.8%)
Mutual labels: gzip, zlib
Denoflate
WebAssembly powered Deflate/Gzip/Zlib compression for Deno, written in Rust
Stars: ✭ 80 (-36%)
Mutual labels: zlib, gzip
Gzipswift
Swift framework that enables gzip/gunzip Data using zlib
Stars: ✭ 356 (+184.8%)
Mutual labels: zlib, gzip
Universal Zopfli Js
JavaScript binding to Zopfli with WebAssembly.
Stars: ✭ 70 (-44%)
Mutual labels: zlib, gzip
Datacompression
Swift libcompression wrapper as an extension for the Data type (GZIP, ZLIB, LZFSE, LZMA, LZ4, deflate, RFC-1950, RFC-1951, RFC-1952)
Stars: ✭ 191 (+52.8%)
Mutual labels: zlib, gzip
Uzlib
Radically unbloated DEFLATE/zlib/gzip compression/decompression library. Can decompress any gzip/zlib data, and offers simplified compressor which produces gzip-compatible output, while requiring much less resources (and providing less compression ratio of course).
Stars: ✭ 168 (+34.4%)
Mutual labels: zlib, gzip
python-isal
Faster zlib and gzip compatible compression and decompression by providing python bindings for the isa-l library.
Stars: ✭ 21 (-83.2%)
Mutual labels: gzip, zlib
Zippy
Pure Nim implementation of deflate, zlib, gzip and zip.
Stars: ✭ 88 (-29.6%)
Mutual labels: zlib, gzip
Swcompression
A Swift framework for working with compression, archives and containers.
Stars: ✭ 110 (-12%)
Mutual labels: zlib, gzip
Nuxt Compress
A simple static asset compression module for Nuxt that runs Gzip and Brotli compression during the build process
Stars: ✭ 61 (-51.2%)
Mutual labels: gzip
libflate
A Rust implementation of DEFLATE algorithm and related formats (ZLIB, GZIP).
Documentation
The documentation includes some examples.
Installation
Add following lines to your Cargo.toml
:
[dependencies]
libflate = "1"
An Example
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();
}
An Informal Benchmark
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
References
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].