5

Step 1. Create a new GWT project via Google Plugin for Eclipse with GWT 2.7.0

Step 2. Modify the .gwt.xml to set linker to xsiframe

 <add-linker name="xsiframe" />

Step 3. Compile the project compilation-mappings.txt shows 6 entries - 5 with browser and one without

1737AD1FC03D9513CE7A9D806F3E21C3.cache.js
user.agent gecko1_8

263432CEAA7C118D6FF27B488528C7EF.cache.js
user.agent safari

3269EBD405702A848A8B082982A76805.cache.js
user.agent ie8

6ED13A4E7283CDD9B28BFDD052C8EC05.cache.js
user.agent ie9

EFB063823A3113BEB2C481F22CA51E1D.cache.js
user.agent ie10

Devmode:devmode.js

Step 4. Modify the .gwt.xml to set single browser with user.agent set to gecko1_8

<set-property name="user.agent" value="gecko1_8,ie9,ie10,safari" />
<set-property-fallback name="user.agent" value="gecko1_8" />
<set-property name="user.agent" value="gecko1_8" />

<!-- allow Super Dev Mode -->
<add-linker name="xsiframe" />

Step 5. Compile the project compilation-mappings.txt shows two entries without browser

FE1687414F0A6033B32B0F59A213285B.cache.js

Devmode:devmode.js

Also, the compilation log shows

Compiling module com.appbootup.explore.gwt.HelloWorld
   Compiling 1 permutation
      Compiling permutation 0...
   Compile of permutations succeeded
Linking into D:\workspace\GWork\HelloWorld\war\helloworld
   Link succeeded
   Compilation succeeded -- 6.434s

Question 1. Does the second permutation "devmode.js" cost us build performance time?

Question 2. Is there a way I can bring this further down to 1 permutation by eliminating "devmode.js". ?

appbootup
  • 9,537
  • 3
  • 33
  • 65

1 Answers1

1

Question 1. Does the second permutation "devmode.js" cost us build performance time?

No, this file is built from a template, and costs nothing.

Question 2. Is there a way I can bring this further down to 1 permutation by eliminating "devmode.js". ?

Since question 1's answer is 'no', I'm not sure this is relevant. How long does it take to copy a single file? If it took longer than a few ms, I'd be very surprised.


For faster compilation, use super dev mode - I'd bet that 6.4 seconds drops to less than a second. Its no good of course for building for production, but it allows you to simply refresh the browser and will generate the new permutation very very quickly, based on changes you have node.

For faster production compiles, use draft mode, and make sure you inherit no more modules than absolutely necessary - the more unused code you have, the longer the build can potentially take.

Colin Alworth
  • 17,801
  • 2
  • 26
  • 39
  • :( . I had guessed so. We are stuck with a mega build with 300+ screens . Current build time is 1 hour on massively powerful box for just one browser gecko1_8. I am trying to figure out what else we can try out. – appbootup Jan 04 '15 at 07:40
  • More queries at Colin and @Thomas http://stackoverflow.com/questions/27763549/gwt-2-7-xmx-with-localworkers-flag-and-collapse-all-properties – appbootup Jan 04 '15 at 08:08
  • Your question is misleading then - you should ask the question you wanted the answer to, not the question you thought would get the answer you wanted ;). Six seconds isn't bad, an hour is a whole different ballgame. Will you be at either GWT.create this month? I'd be happy to take a look in person. – Colin Alworth Jan 04 '15 at 20:17
  • We will not be able to the attend the GWT.create . Will just be able to look at the videos later on. I just simplified the question with helloworld project. Eliminating permutations looked like low hanging fruit in build optimization. Now I am tracking through SOYC reports for a clue to improve the build. – appbootup Jan 05 '15 at 04:42
  • On A Side Note Can you take a look at this and share your comments -> https://docs.google.com/spreadsheets/d/1TTCWZxYAFXCSYdijwX0X5JPCVB5RXpV4Ka3qnnm9hpg/edit?usp=sharing – appbootup Jan 05 '15 at 05:05
  • Added a bunch of comments, but I'm concerned about where you are getting your data, and how you define 'increase'/'decrease'. Need a lot more detail for this to be helpful. – Colin Alworth Jan 05 '15 at 05:37
  • Thanks for the Comments. We have started out today. We will update the sheet with more data. This is in essence our first impression with helloworld or reading documents and not real world tested. We should have lot more data and conclusion based on real world data soon. – appbootup Jan 05 '15 at 06:14