Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in Java by (3.5k points)

We're starting to make heavier use of GWT in our projects, and the performance of the GWT compiler is becoming increasingly annoying.

We're going to start altering our working practices to mitigate the problem, including a greater emphasis on the hosted-mode browser, which defers the need to run the GWT compiler until a later time, but that brings its own risks, particularly that of not catching issues with real browsers until much later than we'd like.

Ideally, we'd like to make the GWT compiler itself quicker - a minute to compile a fairly small application is taking the piss. However, we are using the compile if a fairly naive fashion, so I'm hoping we can make some quick and easy gains.

We're currently invoking com.google.gwt.dev.Compiler as a java application from ant Ant target, with 256m max heap and lots of stack space. The compiler is launched by Ant using fork=true and the latest Java 6 JRE, to try and take advantage of Java6's improved performance. We pass our main controller class to the compiler along with the application classpath, and off it goes.

What else can we do to get some extra speed? Can we give it more information so it spends less time doing discovery of what to do?

I know we can tell it to only compile for one browser, but we need to do multi-browser testing, so that's not really practical.

All suggestions welcome at this point.

1 Answer

0 votes
by (46k points)

Let's commence with the uncomfortable truth: GWT compiler execution is horrible. You can use some notches here and there, but you're not going to get a significantly better display.

A nice review hack you can do is to compile for only specific browsers, by entering the following line in your gwt.xml:

<define-property name="user.agent" values="ie6,gecko,gecko1_8"></define-property>

or in gwt 2.x syntax, and for one browser alone:

<set-property name="user.agent" value="gecko1_8"/>

This, for instance, will compile your petition for IE and FF only. If you apprehend you are using only a specific browser for examination, you can practice this little hack.

Another choice: if you are using several locales, and overusing only one for testing, you can comment them all out so that GWT will use the default region, this shaves off some additional overhead from compile time.

Bottom line: you're not working to get an order-of-magnitude increase in compiler performance, but taking several relaxations, you can shave off a few times here and there.

Related questions

0 votes
1 answer
0 votes
1 answer
0 votes
1 answer
0 votes
1 answer

Browse Categories

...