Friday, September 14, 2018

Re: Why the GWT complier used so much memory?

To your point, regarding tuning the localWorkers parameter, I get significant speedup going from the default of 4 localWorkers down to 2. (i5-4460 Desktop CPU, 500 GB SSD and 32 GB of RAM). It doesn't matter what I set the heap limit to, the compilation appears to be memory bandwidth limited, or perhaps GC bandwidth limited. 

My times are roughly 300 s for 4 workers, 90 s for 2 and 100 s for 1. When compiling with 4 local workers, my system will lock up for a second here and there during compilation, the mouse will freeze, other applications will jitter. The system-wide jitter strongly suggests memory bandwidth saturation and poor cache performance on the part of the GWT compiler. I get no jitter with 2 localWorkers. 

My project code base is about 250 k lines, about 1/3-1/2 of that is front end GWT code. 

On Sunday, September 9, 2018 at 1:15:54 PM UTC-3, Jens wrote:

Are there someone working on the optimization of the GWT compiler, it is too slow for us

No. 

You can use -localWorkers parameter to adjust how many permutations should be compiled in parallel. The higher the number the more memory is needed. If you use -localWorkers 1 then permutations are compiled one after the other which requires the least amount of memory. You can also use -Xmx JVM parameter to limit the amount of heap used, although this might result in more garbage collects and thus longer compile times.

The only other option is to split a large app into smaller apps.

-- J.

--
You received this message because you are subscribed to the Google Groups "GWT Users" 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 https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment