https://github.com/emmanuel-marty/lz4ultra
Optimal LZ4 compressor, that produces files that decompress faster while keeping the best compression ratio
https://github.com/emmanuel-marty/lz4ultra
c compression lz4 optimization suffixarray
Last synced: about 1 month ago
JSON representation
Optimal LZ4 compressor, that produces files that decompress faster while keeping the best compression ratio
- Host: GitHub
- URL: https://github.com/emmanuel-marty/lz4ultra
- Owner: emmanuel-marty
- License: other
- Created: 2019-04-08T21:24:07.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-29T09:38:41.000Z (over 2 years ago)
- Last Synced: 2025-04-09T10:34:02.702Z (2 months ago)
- Topics: c, compression, lz4, optimization, suffixarray
- Language: C
- Size: 199 KB
- Stars: 58
- Watchers: 9
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- AwesomeCppGameDev - lz4ultra
README
lz4ultra -- Optimal LZ4 packer with faster decompression
========================================================lz4ultra is a command-line optimal compression utility that produces compressed files in the [lz4](https://github.com/lz4/lz4) format created by Yann Collet.
The tool creates optimally compressed files, like lz4 in optimal compression mode ("lz4hc"), smallLZ4, blz4 and lz4x.
With enwik9 (1,000,000,000 bytes):
Compr.size Tokens Decomp.time (μs, Core i7-6700)
lz4 1.9.2 -12 (favor ratio) 372,443,347 95,698,349 505,804
smalLZ4 1.5 -9 371,680,328 93,172,985 348,018
lz4ultra 1.3.0 (favor ratio) 371,680,323 93,165,899 347,936
lz4 1.9.2 -12 --favor-decSpeed 377,175,400 92,080,802 457,141
lz4ultra 1.3.0 --favor-decSpeed 376,118,079 88,521,993 296,972The produced files are meant to be decompressed with the lz4 tool and library. While lz4ultra includes a decompressor, it is mostly meant to verify the output of the compressor and isn't as optimized as Yann Collet's lz4 proper.
The tool defaults to 4 Mb blocks with inter-block dependencies but can be configured to output all of the LZ4 block sizes (64 Kb to 4 Mb), to use the LZ4 8 Mb blocks legacy encoding, and to compress independent blocks, using command-line switches.
lz4ultra is developed by Emmanuel Marty with the help of spke.