compilation time issue with only 1 permutation

19 views
Skip to first unread message

Marcin Biegan

unread,
Aug 29, 2011, 9:33:16 PM8/29/11
to Google Web Toolkit
Hello,

I've recenty seen "High-performance GWT" talk from Google IO 2011 and
during the part about compiler options David Chandler said that "large
GWT projects can take several minutes to compile".

My current project takes about 1h to compile on average machine (i5
2.4GHz, 8GB ram, SSD drive, ~80k lines of code). We have 3 modules:
a) only 1 language so 6 permutation
b) and c) each 26 languages so 2*156 permutations

Is it normal to reach so high compilation times with similar
configuration?

Second issue is the fact that the part of compilation before
permutation generation is taking quite a lot. It takes about 3-5
minutes before the first permutation starts and I belive that it
should be a lot faster. When I set compiler log level to more chatty
I can see what is going on, but there are no timestamps (is it easy to
add timestamps?) and I don't really know how much time which part
should take anyway. Does anyone have an idea how to debug the problem?

BR
Marcin

Thomas Broyer

unread,
Aug 30, 2011, 5:16:55 AM8/30/11
to google-we...@googlegroups.com


On Tuesday, August 30, 2011 3:33:16 AM UTC+2, Marcin Biegan wrote:
Hello,

I've recenty seen "High-performance GWT" talk from Google IO 2011 and
during the part about compiler options David Chandler said that "large
GWT projects can take several minutes to compile".

My current project takes about 1h to compile on average machine (i5
2.4GHz, 8GB ram, SSD drive, ~80k lines of code). We have 3 modules:
a) only 1 language so 6 permutation
b) and c) each 26 languages so 2*156 permutations

Is it normal to reach so high compilation times with similar
configuration?

Yes.
 
Second issue is the fact that the part of compilation before
permutation generation is taking quite a lot. It takes about 3-5
minutes before the first permutation starts and I belive that it
should be a lot faster.  When I set compiler log level to more chatty
I can see what is going on, but there are no timestamps (is it easy to
add timestamps?) and I don't really know how much time which part
should take anyway. Does anyone have an idea how to debug the problem?

You can launch the compiler with the gwt.speedtracerlog system property set to a file, and that file will be generated using the Chrome SpeedTracer format, so you can load it later in Chrome's SpeedTracer extension.
java -Dgwt.speedtracerlog=compile-speedtracer-log.html -cp ... com.google.gwt.dev.Compiler ...

There are other system properties you can set too, such as gwt.perflog (IIRC, would output timestamps to the standard output). See http://code.google.com/p/google-web-toolkit/wiki/JavaSystemPropertiesAndGwt but out of date (no mention of the gwt.speedtracerlog, and there are a few other props related to this log: see http://code.google.com/p/google-web-toolkit/source/browse/trunk/dev/core/src/com/google/gwt/dev/util/log/speedtracer/SpeedTracerLogger.java
Reply all
Reply to author
Forward
0 new messages