There's another post in cbloom blog: http://cbloomrants.blogspot.com/2010...7-decoder.html
Which reminded me about "D2CT" discussion here: http://encode.su/threads/550-Ultra-f...ll=1#post11005
And this time I even made an actual implementation to test it, but nobody likes it :)
http://nishi.dreamhosters.com/u/lzcodegen_v0.rar
clocks are cpu clocks from rdtsc.
first result is from 2.cpp, with a plain decoding loop,
and second is the result with code generation
(generation+execution)
Note that IntelC replaced the cpy() with its crazy memcpy
function call, which works faster with SSE2 or whatever it uses,
but it doesn't really count because the same tricks can be
used in generated code too.
[ MSC ]
clock=55799840
clock=42811688+5514896=48326584
[ gcc450 ]
clock=53975928
clock=43155400+5571568=48726968
[ IC111 ]
clock=39331688
clock=43025976+5640504=48666480