Tuesday, January 2, 2018

Re: SuperDevMode OutOfMemoryError

How much memory does your app need to do a full compile on your machine (for just one permutation)?

Super dev mode works very differently than legacy dev mode - I almost prefer to call it "super draft mode" but it has more improvements than simply running a draft compile. Legacy dev mode doesn't actually compile your code at all, but instead spends its startup time figuring out how to call the browser from the JVM when actual JS needs to be run, etc. In this way, it is sort of anti-GWT, since instead of compiling anything to JS, it is making JS callable by Java. In contrast, super dev mode actually has to transpile everything, but actually works in modern browsers. It typically does the basic compile on startup, then each subsequent refresh should be much faster.

On Saturday, December 23, 2017 at 2:33:31 AM UTC-6, Ali Jalal wrote:

We have a large project with about 250 KLoC client-side code (without comment and blank lines). This project compiles in DevMode with Xmx2500m in 3mins. But in SuperDevMode it throws OutOfMemoryError.

GWT Libraries: GWT 2.8.2, gwittir, gwtchosen, gwtquery

Compiler Arguments: org.example.base.Base -startupUrl base -war /usr/jboss/standalone/deployments/base.war -noserver -logLevel ERROR -port 80 -nosuperDevMode -XmethodNameDisplayMode FULL -strict

VM Arguments: -Xms2000m -Xmx2500m -XX:+UseCompressedOops -Djava.io.tmpdir=${TMP}/base -Dgwt.persistentunitcachedir=${TMP}/base -Dgwt.usearchives=true -Dgwt.disableGeneratorResultCaching

Just change -nosuperDevMode to -superDevMode in compiler arguments.

In DevMode with Xmx2500m, first compile takes about 3min, but in SuperDevMode with even Xmx4000m it throws OutOfMemoryError. By increasing Xmx to 20GB, it starts compile but never stops (it seems it needs more memory). So we can not use SuperDevMode in large projects. (Removing gwt.usearchives or gwt.disableGeneratorResultCaching has no effect.)

My questions:

1. Why SuperDevMode should takes more memory than DevMode?

2. In small projects, SuperDevMode compile time is equal or greater than DevMode compile time. Is it normal?

3. How can I reduce SuperDevMode compile time?


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