Saturday, January 24, 2015

Re: GWT compile times between 2.6.0 & 2.7.0


Jens,

This is really good answer that help us to understand about permutation.
Here you mention ,
>>I can't remember when I did a full app compile during development.

I have some questions from it like
  • Are you not using options "On" and "Off" button in dev mode that are compile application indirectly? 
  • Is dev mode feasible for a developer who work on large amount of gwt code in one module?

Thanks,
Bhumika

On Friday, 16 January 2015 05:19:08 UTC+5:30, Jens wrote:
I don't know why a developer wants to regularly compile an app during development except he want to optimize the amount of permutations. I can't remember when I did a full app compile during development.

Anyways, keep in mind that you have 800k line of code that GWT generates an AST from. Then it walks that AST multiple times to apply optimizations on it, then transforms that Java AST into a JavaScript AST and again walks through it multiple times to optimize again. Also you have defined a fragment count of 100 which tells me that you probably have lots of GWT.runAsync() calls in your code base. All of these must be analyzed so code can be assigned to correct code fragments and if some fragments are better merged. Finally you have 85 jars on class path. Its probably not a big gain but you might want to split server and client code into separate projects with separate class paths. You don't need server classes / libraries if you compile the GWT client code to JavaScript.

Overall I think a 3 min compile is pretty normal for that size. And if its 3 oder 4 minutes should literally be irrelevant. A developer should not need to compile the app regularly and you probably have a CI / build server anyways.

What you should evaluate is how fast incremental SuperDevMode in GWT 2.7 is, because that is what matters most during development since most recent browsers do not support the classic DevMode plugin anymore.

Also some report that Java8 might also slow down compilation a bit. If you have used it you could try Java7 instead.


If nothing helps you have to split your app into smaller pieces (additional GWT modules + entry points that only start a sub set of your app) that can be worked on during development ... or buy beefier computers for developers :)


-- J.

--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment