Wait, I just thought of a huge change.
Dan, Does the patch you have implement Leo's U_NON_VOLATILE patch?
It was the patch originally attached to this ticket, over a stock parrot from CVS. If there's something else to try let me know -- I'm all for it. :)
If so, that restricts from 32 to 16 registers, in various cases for *non-volatile* symbols (did I get that right?). Anyway, the symbols that cross sub calls can only use 16 registers, where they used 32 before. That could have a huge effect in that more variables are spilling.
Well, if you don't have that patch, then back to the drawing board.
~Bill
On Tue, 23 Nov 2004 11:55:47 -0500, Dan Sugalski <[EMAIL PROTECTED]> wrote:> wouldn't get swamped by a cubic time algorithm.At 5:40 PM +0100 11/23/04, Leopold Toetsch wrote: >*But*, I've looked again at the new reg_alloc.c code. It seems to have a >piece of code with qubic order in registers, which is for sure killing >all performance advantage it has for a few hundreds of symbols. > >So the "scales better to more symbols" has some limits when "more" >reaches 10K ;)
I'll hold off then. I can't picture anything that -O3 could do that
-- Dan
--------------------------------------it's like this------------------- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk