The brand new ULZ v0.06 is here!
It's byte-aligned LZ77 with a 16MB window (=block size). Now it looks like an LZ4 with a large window. For literal run length coding I make use of EncodeMod as described by Charles Bloom. I'm not 100% sure about the Optimal Parsing here - currently ULZ uses some ad hoc solution for hard-to-compress files - and looks like it does work!
Anyway, enjoy new release!
Some testing results (Intel Core i7-4790K @ 4.6GHz, 32GB @ 1866MHz DDR3 RAM, RAMDisk)
Code:Z:\>ulz c9 enwik9 Compressing enwik9: 1000000000 -> 291028084 in 325.732 sec Z:\>ulz d enwik9.ulz e9 Decompressing enwik9.ulz: 291028084 -> 1000000000 in 1.110 sec Z:\>ulz c enwik9 Compressing enwik9: 1000000000 -> 365851618 in 30.323 sec Z:\>ulz d enwik9.ulz e9 Decompressing enwik9.ulz: 365851618 -> 1000000000 in 1.072 sec Z:\>ulz c1 enwik9 Compressing enwik9: 1000000000 -> 421011442 in 7.379 sec Z:\>ulz d enwik9.ulz e9 Decompressing enwik9.ulz: 421011442 -> 1000000000 in 0.950 sec![]()