After looking a while around all different compression algorithms I thought of taking a closer look at Rolz, because it´s simple, memory friendly, rather fast and can create shorter codes than standard Zip compressors. I thought there´s not much you could improve, because the method is near perfect to result in super short compression code. It seems around 2007-2010 was the time of the last bigger Rolz experiments and range coding has beaten them all so everybody concentrated on special prediction and range coding crunching.
The disadvantage for this kind of compressors is you need a lot of overhead to get your compression context and so automatically create more literals than other algorithms.
I wrote a while ago that I found a neat way to prevent signing and length encoding of literals and I also created a test and detection routine for this that works fine, but is a bit slow - I still try to find a way to speed it up a bit.
So I wanted to test this and some other additions with a working ROLZ compressor and I found this one with the shortest and most simpliest code: http://ezcodesample.com/rolz/rolz_article.html
The iRolz2 Sourcecode was perfect for my tests. I changed only the main compressor, so decompression is not possible with it. The reason is I only wanted to see what is possible. Adding this and some other ideas for improvements nearly let me fell off my chair after checking it. There are only a few additional lines of code within the compressor and different compression settings and it leads often to better compression than 7zip and sometimes can also get near Nanozip! Don´t forget: Without any changes to the algorithm itself!
This encourages me now to start my own Rolz implementation suiting to my other ideas for further improvements like dynamic table reoptimizing and additional context compression what is not possible with this.
You want to see some (test)compression results?
A10.jpg: 816 kb
mso97.dll: 1622 kb
acrord32.exe: 1246 kb
rafale.bmp: 676 kb
calgaryfull: 671 kb
FlashMX.pdf: 3603 kb
english.dic: 417 kb
enwik8: 19958 kb
ohs.doc: 761 kb
fp: 528 kb
fp2: 102 kb
world95: 454kb