On Fri, May 13, 2011 at 11:15 AM, Eric Ayers <[email protected]> wrote:

> I've been reading the code and talking to Scott about it.  The loop
> being removed is the while() loop in execImpl().  The "jitter" is the
> fact that the ControlFlowAnalyzer might return one result for liveness
> before the Pruner runs, and a different result after Pruner runs.  If
> you don't loop inside of Pruner, then the entire optimization pass may
> have to run extra times.


Great explanation!

The last time we tried to naively remove the while loop from Pruner, the
outer optimization loop went from ~7 passes to ~10 passes for Showcase, and
the total optimization time went up.

You can think of my patch as "converging faster".  With my patch in and the
Pruner loop gone, you still only get ~7 outer optimization loops, and the
total optimization time goes down.

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to