Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Large GIN Modules and DevMode performance
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  12 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Nuno Rosa  
View profile  
 More options May 23 2012, 10:25 pm
From: Nuno Rosa <nuno.sp.r...@gmail.com>
Date: Thu, 24 May 2012 03:25:34 +0100
Local: Wed, May 23 2012 10:25 pm
Subject: Large GIN Modules and DevMode performance

Hi,

At the moment we've a large scale application that reached a bottleneck at
DevMode startup time.
It takes ~120s to hit onModuleLoad() call and spends most of the time
generating and compiling GIN Injector ~85%.

Our best result was to target gwt-UnitCache to a virtual disk in RAM, this
speeded things up but still not under 90s to reach onModuleLoad().
Does exist any other way to improvide GIN processing without trying to
isolate groups of screens on their own GWT modules (by consequence smaller
GIN modules) and run only the one a developer is working on.
I think we could not reach an acceptable startup time (<20s) without it.

This only brings some small concerns about mantaining dev mode code only
(besides gwt.xml files), at least ActivityMapper, HistoryMapper and GIN
module to switch.

How do you tackle this issue on your large scale projects?


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
dominikz  
View profile  
 More options May 24 2012, 2:45 am
From: dominikz <dominik.zalew...@gmail.com>
Date: Wed, 23 May 2012 23:45:07 -0700 (PDT)
Local: Thurs, May 24 2012 2:45 am
Subject: Re: Large GIN Modules and DevMode performance

Maybe the easiest way is to wait for GWT 2.5 and super-draft mode?


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Thomas Broyer  
View profile  
 More options May 24 2012, 3:58 am
From: Thomas Broyer <t.bro...@gmail.com>
Date: Thu, 24 May 2012 00:58:06 -0700 (PDT)
Local: Thurs, May 24 2012 3:58 am
Subject: Re: Large GIN Modules and DevMode performance

FYI, the Wave team recommended (2 years ago) creating "harnesses"; i.e.
smaller "standalone apps".
In Wave, they made an EditorHarness for their operation-transform-aware
rich-text editor and an UndercurrentHarness for the "wave panel" (the one
that displays a wave, with threaded wavelets, and incremental data and
feature loading).
In your case, create small and modular GinModules, and small EntryPoints
and Ginjectors specific to a particular set of "screens".
http://www.google.com/events/io/2010/sessions/gwt-continuous-build-te... (starts
around 42:30 in the video)

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Nuno R  
View profile  
 More options May 24 2012, 9:41 am
From: Nuno R <nuno.sp.r...@gmail.com>
Date: Thu, 24 May 2012 06:41:09 -0700 (PDT)
Local: Thurs, May 24 2012 9:41 am
Subject: Re: Large GIN Modules and DevMode performance

Thanks Thomas, that was what i suspected.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Joseph Lust  
View profile  
 More options May 24 2012, 4:59 pm
From: Joseph Lust <lifeofl...@gmail.com>
Date: Thu, 24 May 2012 13:59:05 -0700 (PDT)
Local: Thurs, May 24 2012 4:59 pm
Subject: Re: Large GIN Modules and DevMode performance

We've run into the same issue with out project (~80 rich app screens).
We're currently breaking it out into many independent modules for just this
reason.

We also tried to make many application components common, and then moved
these out into our common component module. This way we don't keep
recompiling them for each module run, since they are precompiled and served
up from Maven.

Sincerely,
Joseph


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jens  
View profile  
 More options May 25 2012, 7:18 am
From: Jens <jens.nehlme...@gmail.com>
Date: Fri, 25 May 2012 04:18:38 -0700 (PDT)
Local: Fri, May 25 2012 7:18 am
Subject: Re: Large GIN Modules and DevMode performance

Also thought about it how to make reloading a page faster in dev mode.

If I understand you correctly, one should create multiple EntryPoints +
Host Pages for development where each EntryPoint only shows a subset of the
complete application?

So it would look like:

- libfeature1.gwt.xml (no entry point and is included in
ProductionApp.gwt.xml)
- devfeature1.gwt.xml (inherits libfeature1 and has an entry point that is
able to present feature1)

and each feature/screen/whatever has its own GinModule, right?

@Joseph: How do you precompile modules to JavaScript and then reuse it? Or
did I misunderstood you?

-- J.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Thomas Broyer  
View profile   Translate to Translated (View Original)
 More options May 25 2012, 8:58 am
From: Thomas Broyer <t.bro...@gmail.com>
Date: Fri, 25 May 2012 05:58:06 -0700 (PDT)
Local: Fri, May 25 2012 8:58 am
Subject: Re: Large GIN Modules and DevMode performance

Basically, yes.
But you don't have to go as small as a "screen" per "test harness".

> @Joseph: How do you precompile modules to JavaScript and then reuse it? Or
> did I misunderstood you?

Maybe he's talking about com.google.gwt.dev.CompileModule, which is
basically running the Precompile phase of a GWT compilation and serializing
the resulting AST into a *.gwtar file. You'll find such *.gwtar files in
gwt-user.jar starting with GWT 2.4 (maybe 2.3), but the *.gwtar files are
very dependent upon the version of GWT, so it's not a portable thing.
AFAIK, it was thought out to speed up gwt-user.jar, not for general
consumption.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Joseph Lust  
View profile  
 More options May 25 2012, 10:05 am
From: Joseph Lust <lifeofl...@gmail.com>
Date: Fri, 25 May 2012 07:05:50 -0700 (PDT)
Local: Fri, May 25 2012 10:05 am
Subject: Re: Large GIN Modules and DevMode performance

Jens,

For clarification, I mean that in Maven we have a GWT project with all of
our screens, a Server project with the serverside Java code, and a
GWT-Common project with all of our common components.

So all of our common widgets are compiled in the GWT-Common project and
wrapped up into a Jar as our common lib. Then our GWT
project inherits these (via module.gwt.xml and a Maven dependency). AFAIK
this reduces the size of the main code base we usually work in (just the
GWT project) and thus Eclipse has less to work with/validate/etc and saves
some overhead. We also have automation and GWTTestCases that run against
the common lib as a separate project, so we save time during each build on
our CI server (Team City).

I am sure Thomas knows more about the GWT compiler than I ever will, so I
cannot speak to whether building in this way saves time building
intermediate component code, or whether the code for the common components
is still compiled with the main GWT project.

Sincerely,
Joseph


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jens  
View profile  
 More options May 25 2012, 10:23 am
From: Jens <jens.nehlme...@gmail.com>
Date: Fri, 25 May 2012 07:23:02 -0700 (PDT)
Local: Fri, May 25 2012 10:23 am
Subject: Re: Large GIN Modules and DevMode performance

> For clarification, I mean that in Maven we have a GWT project with all of
> our screens, a Server project with the serverside Java code, and a
> GWT-Common project with all of our common components.

> So all of our common widgets are compiled in the GWT-Common project and
> wrapped up into a Jar as our common lib. Then our GWT
> project inherits these (via module.gwt.xml and a Maven dependency). AFAIK
> this reduces the size of the main code base we usually work in (just the
> GWT project) and thus Eclipse has less to work with/validate/etc and saves
> some overhead. We also have automation and GWTTestCases that run against
> the common lib as a separate project, so we save time during each build on
> our CI server (Team City).

Ah ok makes more sense ;)

> I am sure Thomas knows more about the GWT compiler than I ever will, so I
> cannot speak to whether building in this way saves time building
> intermediate component code, or whether the code for the common components
> is still compiled with the main GWT project.

 The GWT compiler just pulls in any of your source files you have made
visible using <source> / <super-source> in your module.gwt.xml and compiles
it. So you won't save time in dev mode or during compilation.

-- J.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Thomas Broyer  
View profile   Translate to Translated (View Original)
 More options May 25 2012, 11:11 am
From: Thomas Broyer <t.bro...@gmail.com>
Date: Fri, 25 May 2012 08:11:46 -0700 (PDT)
Local: Fri, May 25 2012 11:11 am
Subject: Re: Large GIN Modules and DevMode performance

On Friday, May 25, 2012 4:23:02 PM UTC+2, Jens wrote:

>  The GWT compiler just pulls in any of your source files you have made
> visible using <source> / <super-source> in your module.gwt.xml and compiles
> it. So you won't save time in dev mode or during compilation.

Actually even the contrary! The more JARs and directories you add to your
classpath, the more time it needs to find a class/resource in it. (it's
negligible here however, with only a single dependency).
I know someone made a modified gwt-maven-plugin that first unpacks every
dependency in a single temporary directory and launching GWT with only that
directory, gwt-user.jar and gwt-dev.jar in the classpath; he hasn't
contributed it though (but said he likely would, IIRC).

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Nuno R  
View profile   Translate to Translated (View Original)
 More options May 25 2012, 11:16 am
From: Nuno R <nuno.sp.r...@gmail.com>
Date: Fri, 25 May 2012 08:16:15 -0700 (PDT)
Local: Fri, May 25 2012 11:16 am
Subject: Re: Large GIN Modules and DevMode performance

The startup time improved while breaking down into smaller parts,  but this
explode the number of source to maintain only related with dev env.

After a couple of tests it seems the environment has big impact, I'm using
a windows 7 machine and after a defrag startup time improved significantly
and are now more closer to the results in a Linux environment that it is
still faster then w7.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jens  
View profile   Translate to Translated (View Original)
 More options May 25 2012, 11:33 am
From: Jens <jens.nehlme...@gmail.com>
Date: Fri, 25 May 2012 08:33:31 -0700 (PDT)
Local: Fri, May 25 2012 11:33 am
Subject: Re: Large GIN Modules and DevMode performance

> After a couple of tests it seems the environment has big impact, I'm using
> a windows 7 machine and after a defrag startup time improved significantly
> and are now more closer to the results in a Linux environment that it is
> still faster then w7.

On Win7 you should also clean your temp files regularly to make Eclipse
happy,
see: http://code.google.com/p/google-web-toolkit/issues/detail?id=5261 .
Not sure if all these temp files also slow down dev mode but maybe it helps.

-- J.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »