The attached graph shows an analysis of code size to compile time for building a large application. The code size is the total number of bytes output for .cache.js files for all permutations added together.
Somewhere between passes 2 to 4 is a "sweet spot", where further optimization passes appear to be returning only marginal improvements. At 3 optimization passes, Another way to verify that besides just the code size metric is to look at the statistics I added in a week ago that show how much the tree changes on each pass. When we looked at the same application, Changes were measured in the thousands on the first pass or two, then trickled down into the tens in later passes. Previously, I had another implementation of this feature where the DataflowOptimizer and SameParameterValueOptimizer were automatically turned off until level 6 or higher (you can flip these off with a separate command line flag). In that case, code size was nearly the same, and compile time was 220 seconds at optimization level 3. full optimization: 300s 3 passes only: 250s 3 passes - aggressive optimizations: 220s -Eric. On Thu, Sep 23, 2010 at 3:32 PM, <[email protected]> wrote: > Reviewers: scottb, fabbott, Lex, > > Description: > Adds a way to tune the optimization level in steps from > draft optimize to full optimization (the current default) > > Preliminary testing shows that optimization level '3' > can give almost as good code size results (within 5%) > as full optimization, with about 20% reduction in compile time. > > > Please review this at http://gwt-code-reviews.appspot.com/915802/show > > Affected files: > M dev/core/src/com/google/gwt/dev/Precompile.java > M dev/core/src/com/google/gwt/dev/jjs/JJSOptions.java > M dev/core/src/com/google/gwt/dev/jjs/JJSOptionsImpl.java > M dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java > M dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerDraftCompile.java > A dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerOptimize.java > D dev/core/src/com/google/gwt/dev/util/arg/OptionDraftCompile.java > A dev/core/src/com/google/gwt/dev/util/arg/OptionOptimize.java > > > -- Eric Z. Ayers Google Web Toolkit, Atlanta, GA USA -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
<<attachment: comparison.png>>
