All Projects → jibsen → blz4

jibsen / blz4

Licence: Zlib license
Example of LZ4 compression with optimal parsing using BriefLZ algorithms

Programming Languages

c
50402 projects - #5 most used programming language
Meson
512 projects

Projects that are alternatives of or similar to blz4

brieflz
Small fast Lempel-Ziv compression library
Stars: ✭ 84 (+250%)
Mutual labels:  compression, compression-algorithm
Re-Pair
Offline Dictionary-based Compression (Re-Pair, Recursive Pairing)
Stars: ✭ 21 (-12.5%)
Mutual labels:  compression, compression-algorithm
lz4-napi
Fastest lz4 compression library in Node.js, powered by napi-rs and lz4-flex.
Stars: ✭ 29 (+20.83%)
Mutual labels:  compression, lz4
x-compressor
x – minimalist data compressor
Stars: ✭ 42 (+75%)
Mutual labels:  compression, compression-algorithm
lz4ultra
Optimal LZ4 compressor, that produces files that decompress faster while keeping the best compression ratio
Stars: ✭ 49 (+104.17%)
Mutual labels:  compression, lz4
django-brotli
Django middleware that compresses response using brotli algorithm.
Stars: ✭ 16 (-33.33%)
Mutual labels:  compression, compression-algorithm
EasyCompressor
⚡ A compression library that implements many compression algorithms such as LZ4, Zstd, LZMA, Snappy, Brotli, GZip, and Deflate. It helps you to improve performance by reducing Memory Usage and Network Traffic for caching.
Stars: ✭ 167 (+595.83%)
Mutual labels:  compression, lz4
smallz4
Optimal LZ4 compression
Stars: ✭ 24 (+0%)
Mutual labels:  compression, lz4
Lepton
Lepton is a tool and file format for losslessly compressing JPEGs by an average of 22%.
Stars: ✭ 4,918 (+20391.67%)
Mutual labels:  compression, compression-algorithm
image-comp-lib-rust
Image Compression Algorithm
Stars: ✭ 30 (+25%)
Mutual labels:  compression, compression-algorithm
tiny
compress data for better performance
Stars: ✭ 21 (-12.5%)
Mutual labels:  compression, lz4
Huffman-Coding
A C++ compression program based on Huffman's lossless compression algorithm and decoder.
Stars: ✭ 81 (+237.5%)
Mutual labels:  compression, compression-algorithm
salvador
A free, open-source compressor for the ZX0 format
Stars: ✭ 35 (+45.83%)
Mutual labels:  compression, compression-algorithm
pyrus-cramjam
Thin Python wrapper to de/compression algorithms in Rust - lightweight & no dependencies
Stars: ✭ 40 (+66.67%)
Mutual labels:  compression, lz4
apultra
Free open-source compressor for apLib with 5-7% better ratios
Stars: ✭ 84 (+250%)
Mutual labels:  compression, compression-algorithm
lzbase62
LZ77(LZSS) based compression algorithm in base62 for JavaScript.
Stars: ✭ 38 (+58.33%)
Mutual labels:  compression, compression-algorithm
Lz4
Extremely Fast Compression algorithm
Stars: ✭ 6,623 (+27495.83%)
Mutual labels:  compression, lz4
py-lz4framed
LZ4-frame library for Python (via C bindings)
Stars: ✭ 42 (+75%)
Mutual labels:  compression, lz4
levi-db
levi-db is a fast database engine
Stars: ✭ 37 (+54.17%)
Mutual labels:  compression
ruby-xz
Ruby bindings for liblzma, using fiddle
Stars: ✭ 33 (+37.5%)
Mutual labels:  compression

blz4

Meson CI

About

This is an example using some of the compression algorithms from BriefLZ to produce output in the format of LZ4.

Please note: this is just a quick experiment to see how it would work, it is not production quality, and has not been properly tested.

Benchmark

Here are some results on the Silesia compression corpus:

File Original blz4 --optimal lz4 -12 -l lz4x -9
dickens 10.192.446 4.380.430 4.380.430 4.380.430
mozilla 51.220.480 22.025.940 22.025.988 22.025.940
mr 9.970.564 4.190.675 4.190.774 4.190.675
nci 33.553.445 3.621.482 3.621.567 3.621.482
ooffice 6.152.192 3.535.258 3.535.258 3.535.258
osdb 10.085.684 3.951.474 3.951.474 3.951.474
reymont 6.627.202 2.063.060 2.063.060 2.063.060
samba 21.606.400 6.100.521 6.100.539 6.100.521
sao 7.251.944 5.668.742 5.668.742 5.668.742
webster 41.458.703 13.835.336 13.835.336 13.835.336
xml 5.345.280 759.868 759.901 759.868
x-ray 8.474.240 7.177.203 7.177.203 7.177.203

I did not include smallz4 because it does not create output in the legacy format, so the results are not directly comparable on files larger than 4MiB.

Usage

blz4 uses Meson to generate build systems. To create one for the tools on your platform, and build blz4, use something along the lines of:

mkdir build
cd build
meson ..
ninja

You can also simply compile and link the source files.

blz4 includes the leparse and btparse algorithms from BriefLZ, which gives compression levels -5 to -9 and the very slow --optimal.

Notes

  • LZ4 appears to do flexible parsing, is very close to optimal, and much faster.

Related Projects

License

This projected is licensed under the zlib License (Zlib).

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