Decent development hardware for GWT ?

22 views
Skip to first unread message

hjo1620

unread,
Nov 18, 2009, 5:52:42 AM11/18/09
to Google Web Toolkit
My compiles are getting slower and slower (4 mins currently).
It's a not a huge app, master detail input forms, grids, tabs, menubar
and status bar, one servlet, ca 10 RPC calls. Third party grid,
compiled separetly. Common classes in a separate project, compiled
separetly.

WinXP SP3,
AMD Athlon Dual Core,
2.71 GHz,
7200 rpm disks

Could someone please share a hardware setup that you are happy with ?
Getting compiles down to at least 1 minute would be nice...
Would a recent and decent Dell Precision model reduce the compile
time ?

(I know that splitting the project into smaller parts is also part of
a total solution, but currently I'm mainly interested in what can be
achieved with hardware)

Paul Robinson

unread,
Nov 18, 2009, 6:20:22 AM11/18/09
to google-we...@googlegroups.com
The javac compiles are a small fraction of the total time taken - that
you have third party stuff and common classes javac-compiled separately
is probably not very important to the time taken overall. It's the
monolithic compile to javascript that's slow.

What is most important is the number of permutations done in the
compilation. For development, you should only have one permutation most
of the time - until you need to test on multiple browsers/languages.

Your gwt.xml file should have something of the form:
<set-property name="user.agent" value="gecko1_8"/>
for compilation only on firefox. You can use user agents "safari",
"opera", "ie8" and "ie6". If you have a very old firefox, you can also
use "gecko".

How many permutations do you have?

You can also compile more quickly by using fewer optimisations if you're
using trunk or one of the pre-release 2.0 versions. The option is
"-draftCompile" on my slightly old copy of trunk. It does make the
javascript quite a bit slower though.

As for hardware - first make sure you have enough RAM that you don't
need to use virtual memory. If it's still slow after all the above, then
a faster computer is always going to help (it made a big difference for me).

HTH,
Paul
> --
>
> You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
> To post to this group, send email to google-we...@googlegroups.com.
> To unsubscribe from this group, send email to google-web-tool...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=.
>
>
>
>

Zé Vicente

unread,
Nov 18, 2009, 9:31:32 AM11/18/09
to Google Web Toolkit
Heheeh...

It takes a few minutes for me as well. Maybe more than 5 minutes!

What means to have many permutations? Is it bad? In terms of code,
what it means?

Anyway... I could take 30 minutes to compile as long as it continues
to work fine for me.

[],
José Vicente

Olivier Gérardin

unread,
Nov 18, 2009, 4:54:28 PM11/18/09
to Google Web Toolkit
GWT-compiles are slow, that's a fact. But they are normally used only
for deployment or when you exceptionally need to test in a real
browser.
Normally when you make changes to your code you just need to hit
reload in the hosted modewindow, and that takes only seconds.

David C. Hicks

unread,
Nov 18, 2009, 5:01:05 PM11/18/09
to google-we...@googlegroups.com
Olivier G�rardin wrote:
> GWT-compiles are slow, that's a fact. But they are normally used only
> for deployment or when you exceptionally need to test in a real
> browser.
> Normally when you make changes to your code you just need to hit
> reload in the hosted modewindow, and that takes only seconds.
>
Unless you're unlucky enough to have started with a Struts-based
application, in which case it's hard to see how your GWT forms interact
with your real services unless you run from the WAR file. At least, we
never found a way to make it work.

Carl Pritchett

unread,
Nov 18, 2009, 7:22:35 PM11/18/09
to Google Web Toolkit
We are running in VMWare Workstation and the base machine is a i7 950
with 6gigs of RAM and 10000 rpm disks (seperate disks for VMs and OS)

The build produces a 10 meg war, of which about 3 megs of which is
GWT / GXT.

The dev compile (2 permutations) takes 2:12 including 300 tests - so
the actual gwt comple is < 1 min.

The Integration build Athalon 3400+ (6 perms) takes about 6mins
(including tests)

The i7 dev machines work very well with GWT (the machine is still
usable during the compile - not the case on the quad core I previously
was using... too many 100% cpu spikes) - also the fast disks prevent
VMWare performance issues as much as possible.

Sripathi Krishnan

unread,
Nov 18, 2009, 9:49:49 PM11/18/09
to google-we...@googlegroups.com
Unless you're unlucky enough to have started with a Struts-based
application, in which case it's hard to see how your GWT forms interact
with your real services unless you run from the WAR file.  At least, we
never found a way to make it work.

You should try the oophm plugin, and run it with the -noserver argument. That way, you can delegate the RPC calls to whatever application server you are using, but still do partial compiles and debugging similar to what hosted mode provides.

--Sri


2009/11/19 David C. Hicks <dhi...@i-hicks.org>

hjo1620

unread,
Nov 19, 2009, 1:22:38 AM11/19/09
to Google Web Toolkit
Thanks for your answer:
i7 based machine with 10000 rpm disks, ought to be good enough for me,
since my project is way smaller.

Any URL you can share to a pre-built system ?
Or is it a DIY PC build ?

Paul Robinson

unread,
Nov 19, 2009, 4:48:47 AM11/19/09
to google-we...@googlegroups.com
Z� Vicente wrote:
> What means to have many permutations? Is it bad? In terms of code,
> what it means?
>
When gwt compiles to javascript, one of the output lines says something
like "Compiling 6 permutations". The number of permutations is the
number of browsers your compiling for, multiplied by the number of
languages. You can also get more permutations for other reasons,
depending on what you're doing.

Each permutation takes time to process. The more you have, the longer
the compile.

There's nothing wrong with lots of permutations, except that for
development, you generally only need to compile for one browser and one
language at a time. So your dev cycle should involve compiling for only
one permutation so that the compile is as quick as possible.

Paul

Carl Pritchett

unread,
Nov 29, 2009, 10:05:03 PM11/29/09
to Google Web Toolkit
It was a customer order similar to http://www.pacstarcomputer.com.au/index.php?productID=6121
but with the i7 950 and GA-EX58-UD4P

hjo1620

unread,
Dec 3, 2009, 12:57:52 PM12/3/09
to Google Web Toolkit
Are you running vmware on Windows 7, XP or Vista ?
Reply all
Reply to author
Forward
0 new messages