Thursday, May 24, 2012

Re: Large GIN Modules and DevMode performance

Thanks Thomas, that was what i suspected.

On Thursday, May 24, 2012 8:58:06 AM UTC+1, Thomas Broyer wrote:


On Thursday, May 24, 2012 4:25:34 AM UTC+2, Nuno R wrote:
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?

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".


--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/3abJaEygYg8J.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to google-web-toolkit+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.

No comments:

Post a Comment