|
From: Nicholas N. <nj...@cs...> - 2005-11-28 16:52:25
|
On Mon, 28 Nov 2005, sv...@va... wrote: > Log: > Modify the tree builder to use a fixed-size binding environment rather > than one that is potentially proportional to the length of the input > BB. This changes its complexity from quadratic to linear (in the > length of the BB) and gives a noticable increase in the overall speed > of vex. The tradeoff is that it can no longer guarantee to build > maximal trees, but in practice in only rarely fails to do so (about 1 > in 100 bbs) and so the resulting degradation in code quality is > completely insignificant (unmeasurable). Here's the improvements on a few programs I've been performance testing with. == tsim_arch t.out 10 usertime: 15.40s usertime: 15.02s == latex pldi2006 usertime: 11.73s usertime: 11.10s == mybz2 usertime: 6.24s usertime: 5.64s == gcc -S concord.i usertime: 11.74s usertime: 10.23s That's improvements of 2%, 5%, 10% and 13%. And Konqueror startup+shutdown went from about 56s to 51s, 9% better. Great stuff. Any ideas how to improve the register allocator? :) N |