Skip to content

Commit 68b9188

Browse files
Update stats
1 parent 27b05fa commit 68b9188

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

README.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,13 @@ lz4ultra is a command-line optimal compression utility that produces compressed
55

66
The tool creates optimally compressed files, like lz4 in optimal compression mode ("lz4hc"), smallLZ4, blz4 and lz4x. The files decompress slightly faster.
77

8-
The compression ratio is nearly identical or slightly better than lz4 in the highest optimal compression mode. The 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.
8+
lz4ultra beats lz4 1.9.1 --12 --favor-decSpeed in both size and the number of tokens produced. With enwik9 (1,000,000,000 bytes):
9+
10+
Compr.size Tokens
11+
lz4 1.9.1 --12 --favor-decSpeed 376,408,347 92,105,212
12+
lz4ultra 1.1.0 371,687,509 85,910,002
13+
14+
The 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.
915

1016
lz4ultra works by performing the usual optimal compression (using a suffix array), and then applying a forward peephole optimization pass, that breaks ties (sequences of compression commands that result in an identical number of bytes added to the compressed data), in favor of outputting less commands.
1117

@@ -17,6 +23,6 @@ The peephole optimizer is located in src/shrink.c, as lz4ultra_optimize_command_
1723

1824
lz4ultra is an offshoot of the [lzsa](https://github.com/emmanuel-marty/lzsa) compressor as we thought it would be interesting to the wider compression community, to users of LZ4 that compress data once and require the fastest decompression time without a trade-off in compression ratio, and also to retrocomputing developers as this will speed decompression up further on 8/16-bit systems.
1925

20-
The tool defaults to 64Kb blocks with inter-block dependencies but can be configured to output all of the LZ4 block sizes (64 Kb to 4 Mb) and to compress independent blocks, using command-line switches.
26+
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) and to compress independent blocks, using command-line switches.
2127

2228
lz4ultra is developed by Emmanuel Marty with the help of spke.

0 commit comments

Comments
 (0)