You mentioned that you have an AMD CPU. I have an Intel Pentium. They must be optimized differently, because every time you take out the global variables and say you see a speed increase, I see a decrease. For example, the last code you gave me (with no globals) versus the code I just posted versus the code you just posted:
Only 2 global variables - the other 2 take .001 seconds to make
New decoder - a lot faster
Using a test file, about 50K, on my P4M 2.2GHz:
Encode: 1.8 seconds -> 1.2 seconds -> 1.6 seconds
Decode: 2.4 seconds -> 1.6 seconds -> 2.1 seconds
So on my machine, your new code is almost as slow as your old code. Obviously our machines process differently. I think that's why you keep moving the tables to local variables and I keep putting them back in globals.
Edited by blindwig, 09 March 2006 - 06:15 PM.