All Projects → sile → Libflate

sile / Libflate

Licence: mit
A Rust implementation of DEFLATE algorithm and related formats (ZLIB, GZIP)

Programming Languages

rust
11053 projects

Labels

Projects that are alternatives of or similar to Libflate

zzlib
zlib-compressed file depacking library in Lua
Stars: ✭ 44 (-64.8%)
Mutual labels:  gzip, zlib
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
Tinf
Tiny inflate library (inflate, gzip, zlib)
Stars: ✭ 57 (-54.4%)
Mutual labels:  zlib, gzip
Flate2 Rs
DEFLATE, gzip, and zlib bindings for Rust
Stars: ✭ 390 (+212%)
Mutual labels:  zlib, gzip
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
Turbobench
Compression Benchmark
Stars: ✭ 211 (+68.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
Libz.jl
Fast, flexible zlib bindings.
Stars: ✭ 26 (-79.2%)
Mutual labels:  gzip, zlib
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
Fastify Compress
Fastify compression utils
Stars: ✭ 95 (-24%)
Mutual labels:  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

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:

[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].