For 60 permutations (10 locales, times 6 browsers), nearly two hours is too long, especially with draft mode, running on that kind of hardware. Can you confirm that no other configuration settings are applied in your pom to the gwt-maven-plugin, and that no other properties are set in your module file at all? Can you also confirm that the build shows 60 (or 66 if you are adding 10 for a total of 11 locales) permutations?
I wouldn't set localworkers any higher than you have CPUs - by default, gwt-maven-plugin sets it to the number of CPUs you have. I find the best CPU/memory consumption to occur setting it somewhere less than that.
GWT builds can be distributed - the first part of the build performs all optimizations that make sense for all permutations. Then, when it starts the permutations, each of those can happen completely in parallel. That part can either run multi-threaded on one machine (the default), or can be farmed out to other machines. To my knowledge, gwt-maven-plugin doesn't offer direct support for this, but here are a few links detailing the process:
http://code.google.com/p/google-web-...tributedBuilds
Other options: You can collapse the number of permutations by indicating that one or more properties should be condensed into a single 'soft' permutation. This puts the code for both of those settings in the same permutation. More information is available in the GWT wiki:
http://code.google.com/p/google-web-...ftPermutations
---
Okay before posting, I decided to try this out and added the following block of locales to the Explorer app (from the 8 you shared in your last post and 2 more in the post prior, as to not repeat "es"):
Code:
<extend-property name="locale" values="en"/>
<extend-property name="locale" values="fr"/>
<extend-property name="locale" values="it"/>
<extend-property name="locale" values="de"/>
<extend-property name="locale" values="es"/>
<extend-property name="locale" values="hu"/>
<extend-property name="locale" values="no"/>
<extend-property name="locale" values="el"/>
<extend-property name="locale" values="en"/>
<extend-property name="locale" values="pt"/>
And it is indeed taking quite a bit longer than I otherwise would have expected - and memory as well. I needed to increase the memory available to 2gb, though I kept the worker thread count at my default of 2. Here's the (interesting) output:
Code:
[INFO]
[INFO] --- gwt-maven-plugin:2.2.0:compile (default) @ gxt-examples ---
[WARNING] Don't declare gwt-dev as a project dependency. This may introduce complex dependency conflicts
[INFO] Compiling module com.sencha.gxt.explorer.Explorer
[INFO] Scanning for additional dependencies: /home/colin/workspaces/sencha/gxt-parent/com.sencha.gxt.examples/target/.generated/com/sencha/gxt/examples/resources/shared/ExampleRequestFactoryImpl.java
[INFO] Computing all possible rebind results for 'com.sencha.gxt.examples.resources.shared.ExampleRequestFactoryImpl.Factory'
[INFO] Rebinding com.sencha.gxt.examples.resources.shared.ExampleRequestFactoryImpl.Factory
[INFO] Invoking generator com.google.web.bindery.autobean.gwt.rebind.AutoBeanFactoryGenerator
[INFO] [WARN] Error writing out generated unit at '/home/colin/workspaces/sencha/gxt-parent/com.sencha.gxt.examples/target/.generated/com/sencha/gxt/examples/resources/shared/PostRequest_PostPagingLoadResultProxyAutoBean_com_google_web_bindery_requestfactory_shared_impl_EntityProxyCategory_com_google_web_bindery_requestfactory_shared_impl_ValueProxyCategory_com_google_web_bindery_requestfactory_shared_impl_BaseProxyCategory.java': java.io.FileNotFoundException: /home/colin/workspaces/sencha/gxt-parent/com.sencha.gxt.examples/target/.generated/com/sencha/gxt/examples/resources/shared/PostRequest_PostPagingLoadResultProxyAutoBean_com_google_web_bindery_requestfactory_shared_impl_EntityProxyCategory_com_google_web_bindery_requestfactory_shared_impl_ValueProxyCategory_com_google_web_bindery_requestfactory_shared_impl_BaseProxyCategory.java (File name too long)
[INFO] Compiling 60 permutations
[INFO] Compiling permutation 0...
[INFO] Process output
[INFO] Compiling
[INFO] Compiling permutation 1...
[INFO] Compiling permutation 2...
[INFO] Compiling
[INFO] Compiling permutation 3...
[INFO] Compiling permutation 4...
[INFO] Compiling
[INFO] Compiling permutation 5...
[INFO] Compiling permutation 6...
[INFO] Compiling
[INFO] Compiling permutation 7...
[INFO] Compiling permutation 8...
[INFO] Compiling
[INFO] Compiling permutation 9...
[INFO] Compiling permutation 10...
[INFO] Compiling
[INFO] Compiling permutation 11...
[INFO] Compiling permutation 12...
[INFO] Compiling
[INFO] Compiling permutation 13...
[INFO] Compiling permutation 14...
[INFO] Compiling
[INFO] Compiling permutation 15...
[INFO] Compiling
[INFO] Compiling permutation 16...
[INFO] Compiling permutation 17...
[INFO] Compiling
[INFO] Compiling permutation 18...
[INFO] Compiling permutation 19...
[INFO] Compiling
[INFO] Compiling permutation 20...
[INFO] Compiling permutation 21...
[INFO] Compiling
[INFO] Compiling permutation 22...
[INFO] Compiling permutation 23...
[INFO] Compiling
[INFO] Compiling permutation 24...
[INFO] Compiling permutation 25...
[INFO] Compiling
[INFO] Compiling permutation 26...
[INFO] Compiling permutation 27...
[INFO] Compiling
[INFO] Compiling permutation 28...
[INFO] Compiling permutation 29...
[INFO] Compiling
[INFO] Compiling permutation 30...
[INFO] Compiling permutation 31...
[INFO] Compiling
[INFO] Compiling permutation 32...
[INFO] Compiling permutation 33...
[INFO] Compiling
[INFO] Compiling permutation 34...
[INFO] Compiling permutation 35...
[INFO] Compiling
[INFO] Compiling permutation 36...
[INFO] Compiling permutation 37...
[INFO] Compiling
[INFO] Compiling permutation 38...
[INFO] Compiling permutation 39...
[INFO] Compiling
[INFO] Compiling permutation 40...
[INFO] Compiling permutation 41...
[INFO] Compiling
[INFO] Compiling permutation 42...
[INFO] Compiling permutation 43...
[INFO] Compiling
[INFO] Compiling permutation 44...
[INFO] Compiling permutation 45...
[INFO] Compiling
[INFO] Compiling permutation 46...
[INFO] Compiling permutation 47...
[INFO] Compiling
[INFO] Compiling permutation 48...
[INFO] Compiling permutation 49...
[INFO] Compiling
[INFO] Compiling permutation 50...
[INFO] Compiling permutation 51...
[INFO] Compiling
[INFO] Compiling permutation 52...
[INFO] Compiling permutation 53...
[INFO] Compiling
[INFO] Compiling permutation 54...
[INFO] Compiling permutation 55...
[INFO] Compiling
[INFO] Compiling permutation 56...
[INFO] Compiling
[INFO] Compiling permutation 57...
[INFO] Compiling permutation 58...
[INFO] Compiling
[INFO] Compiling permutation 59...
[INFO] Compile of permutations succeeded
[INFO] Linking into /home/colin/workspaces/sencha/gxt-parent/com.sencha.gxt.examples/target/gxt-examples-3.0.5-SNAPSHOT/explorer
[INFO] Link succeeded
[INFO] Compilation succeeded -- 1117.072s
Code:
[colin@ponder explorer (3.0 *)]$ ls -alh | grep -v gz | grep html
-rw-r--r-- 1 colin users 2.0M Feb 14 11:03 07EB394F57DDC98F640861383F750D07.cache.html
-rw-r--r-- 1 colin users 2.0M Feb 14 11:03 0A01540708F7868B568BF6695EC7BDD1.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 0B4C04AFDD400A393B9A58721D01EE8E.cache.html
-rw-r--r-- 1 colin users 2.6M Feb 14 11:03 0D0209BB7002369B5F120731397A9337.cache.html
-rw-r--r-- 1 colin users 2.0M Feb 14 11:03 10E65CC82D4431688AFD19DBCF48B1FD.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 124DF92B66486F1D13E845C2FD9C4A6B.cache.html
-rw-r--r-- 1 colin users 2.6M Feb 14 11:03 1A7EC9B814F868D523401FC3B5068659.cache.html
-rw-r--r-- 1 colin users 2.6M Feb 14 11:03 2446AE3FD754C091ACC195077E6729C8.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 2A16ABD7DC95904F989FF14273969E34.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 2B5BBD9A408AED4DE2897AE452C154F5.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 2FB057EF04CA56D5DD08327B3EB6FC86.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 37E0B159BF2AEADE887B5E137AB6D255.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 3823496627CFAC2BF5B29980395D2523.cache.html
-rw-r--r-- 1 colin users 2.0M Feb 14 11:03 4116226B763608E7FB5E50FE523AE1ED.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 477745B387C973E82029B680B0C27D33.cache.html
-rw-r--r-- 1 colin users 2.0M Feb 14 11:03 4851C7410592DD212EE0120CD4776837.cache.html
-rw-r--r-- 1 colin users 2.6M Feb 14 11:03 4BBA4E8256E27FC93ABFDA9241273FB2.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 4C3DC9E21F89D10192A9B9A7E58A59F7.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 4FF281C884561AE09C60024F10299BB7.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 55FAEEF7EA1E02F5419E344F0F61D556.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 57B1323DE25A95B68FD2C26A702FA47F.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 57E9AA065A9BC7EABB05E989B6B36208.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 59B9647C297299A87B12454125466536.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 5BBBC4925A318404834D522956B4D368.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 62C9F92D4FAD919313ACDABB5D8D9D8A.cache.html
-rw-r--r-- 1 colin users 2.0M Feb 14 11:03 63873CAAE612BD32BB50A069ABA47149.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 6A09D582C3EE23FDF9AA855198EABD7E.cache.html
-rw-r--r-- 1 colin users 2.0M Feb 14 11:03 71D6D36DDE8D769B02A00DD2009885E7.cache.html
-rw-r--r-- 1 colin users 2.6M Feb 14 11:03 73378AD814A6F838BD62220481315C76.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 78F318B0BDCF938C2AF0B8BA72AB7631.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 7A8027C0E9CCE93E27C485E42B6A31B2.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 80002CB0460F00B507570509E376F211.cache.html
-rw-r--r-- 1 colin users 2.6M Feb 14 11:03 801D7EF6CCBA2B90267B600D31EBD3C1.cache.html
-rw-r--r-- 1 colin users 2.6M Feb 14 11:03 84AF46D147884F90CE519A1CCED46EAD.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 8DAE1B2D22B5283BFF96C8FD2BF80AC9.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 8E623DCDB32194126D2004A19746ED6E.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 9CD6DB0ABD99A49A997AC3F17F49CE9F.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 9DA79D41A3681C272451A8EEC50BBE12.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 9E40E038436112D67FA8D831FBE9EDBA.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 A545516943B14093DD095393EB6FCE30.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 A545CCD78469A70E693AF6ADEB5FEF3B.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 AFC018D9D2EAA64FF6DF4153A9D5A2B7.cache.html
-rw-r--r-- 1 colin users 2.0M Feb 14 11:03 B57644EB8ACC537F220BBF244D00CE34.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 BC55D5AAA65E9FAD68C1E8999FA4C7FA.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 BFDE61AD116FE3D36DCFAD87AD92FDDE.cache.html
-rw-r--r-- 1 colin users 2.0M Feb 14 11:03 C024CC60BC137528D7091B61E2F63814.cache.html
-rw-r--r-- 1 colin users 2.6M Feb 14 11:03 C447EBC186DE30FFF664C65373DB2AB5.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 C4540065AA2D9DB1BD68A83AAED25FAC.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 CB27C005206DCE6367B46098A8A77134.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 D1464A33B678ED7557DBCDD78546B0C3.cache.html
-rw-r--r-- 1 colin users 2.6M Feb 14 11:03 D1EAC2BBD8DAD87B896BC03B3A120A96.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 D9E465768B03B5284E491B4AD77F669F.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 E0504223FEFE3038080684EA9DA64176.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 E310B5A2DD0A93F6F50BCBB4900D46D5.cache.html
-rw-r--r-- 1 colin users 2.6M Feb 14 11:03 EB9E5AAB27A09F13AF5E7B273DF2CABD.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 F132AF69C4A5652B05A9409ACFFEA79D.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 F31A48B6684184DC47138F6E7EE1ACDF.cache.html
-rw-r--r-- 1 colin users 2.0M Feb 14 11:03 F3AA652E8A6C1A91A262BAC95472EBD5.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 F98FE76C3AE35E44F8944F9AA46F7552.cache.html
-rw-r--r-- 1 colin users 2.5M Feb 14 11:03 FAD0F3574E0B98F6F7966D410EE04696.cache.html
-rw-r--r-- 1 colin users 13 Feb 12 21:00 blank.html
-rw-r--r-- 1 colin users 12K Oct 5 10:50 hosted.html
Almost nineteen minutes - long, but not too miserable. Draft mode was not enabled, so all normal optimizations were done. As mentioned, I did give it 2 gigs of ram after watching it fail with only one. The task looks fairly parallelizable - I could probably add another local worker and see if that makes a difference. I say this because the two workers continued to finish very near to each other - 0, 1, wait a little, 2, 3, etc. My CPU monitor showed two CPUs at close to full, suggesting it was a CPU-bound process, not waiting for IO resources. I'll try this later and report back, but I'll expect something like 15 minutes with a third worker.
One thing I can say that GWT/GXT should try to improve: it appears that the ClientBundle generator is building per-locale builds, which doesn't appear necessary. This is probably contributing to the first step of compilation (before Compiling 60 permutations), by causing it to build 10 times as many client bundle builds as neccessary. This appears to be a built-in feature/issue in GWT's ClientBundle itself, and I'm not sure if we can workaround this in GXT, but it is something I will look into.