Yeah, I implemented LZSA-Basic and LZSA-HC for packet compression and tested vs. the existing "Oodle Network" (LZP static dictionary variants).
I made a bunch of results, and now I can't find them. So maybe I'll try to re-run my tests or blah.
The thing that you could see in the results is that the Oodle Static-LZP doesn't scale that well with increased dictionary size. (with LZP you only match one string, so at some point you just have the best one string in there and adding more dictionary does nothing). Compression benefit slows down after a 16 MB dictionary or so. With LZSA, the compression on a 1 MB dictionary was about the same as Static-LZP, but it continues to improve steadily as you increase dictionary size.
It's not compelling for me in Oodle because game customers don't want to run big dictionaries for various legitimate reasons; 1 MB is common and 4 MB is probably the max. LZSA really shines (vs LZP) as you get to 32 or 64 MB or more.
Anyway, I'll do another dig around for those results...
"02-07-15 - LZSA - Index Post"
2 Comments -
Did you ever implement any of this and see how it performs?
February 8, 2015 at 3:25 PM
Yeah, I implemented LZSA-Basic and LZSA-HC for packet compression and tested vs. the existing "Oodle Network" (LZP static dictionary variants).
I made a bunch of results, and now I can't find them. So maybe I'll try to re-run my tests or blah.
The thing that you could see in the results is that the Oodle Static-LZP doesn't scale that well with increased dictionary size. (with LZP you only match one string, so at some point you just have the best one string in there and adding more dictionary does nothing). Compression benefit slows down after a 16 MB dictionary or so. With LZSA, the compression on a 1 MB dictionary was about the same as Static-LZP, but it continues to improve steadily as you increase dictionary size.
It's not compelling for me in Oodle because game customers don't want to run big dictionaries for various legitimate reasons; 1 MB is common and 4 MB is probably the max. LZSA really shines (vs LZP) as you get to 32 or 64 MB or more.
Anyway, I'll do another dig around for those results...
February 8, 2015 at 8:09 PM