Googles appar
Huvudmeny

Post a Comment On: cbloom rants

"09-04-12 - LZ4 Optimal Parse"

5 Comments -

1 – 5 of 5
Blogger Cyan said...

> Yann's lz4.exe seems to also add a 16 byte header to every file

That's correct.
- 4 bytes for a "magic number"
- 8 bytes for option flags and original size
- 4 bytes per chunk, with a single chunk being 4MB, so i guess all your samples need only one chunk.

September 5, 2012 at 6:13 AM

Blogger Cyan said...

> Yann's lz4 -c2 is a lazy parse that seems to go 3 steps ahead with some funny heurstics that I can't quite follow

The algorithm consider only overlapping matches of growing lengthes.
To keep it simple, i restricted the length of the serie to 3. As long as the serie of growing lengthes is <=3, i think it can be proven that the parsing is optimal.

But beyond that limit, the algorithm makes a wild guess, encodes one match, and move along.
I tried to explain all this in an old post :
http://fastcompression.blogspot.fr/2011/12/advanced-parsing-strategies.html

September 5, 2012 at 6:22 AM

Anonymous Anonymous said...

Why is the literal run length a state?

September 5, 2012 at 8:00 AM

Blogger Cyan said...

Hi Charles

Do you think it could be a good idea to share your Optimal Parsing algorithm for LZ4 as a part of the open-source package ?
Since it achieves higher compression ratio than HC, i believe there may be some programmers which will be interested.

Regards

September 21, 2012 at 12:19 PM

Blogger cbloom said...

Yeah, I'll email you.

September 21, 2012 at 3:08 PM

You can use some HTML tags, such as <b>, <i>, <a>

This blog does not allow anonymous comments.

Comment moderation has been enabled. All comments must be approved by the blog author.

You will be asked to sign in after submitting your comment.