Re: GWT Compilation Out Of Memory

2019-03-14 Thread Colin Alworth
Some quick observations from the docx:

The bulk of your split points are sized pretty well, but if you can save 
the compiler work on those tiny ones and delete/merge them, that would be 
ideal, and may well help your leftovers.

That leftovers is quite large, but not totally out of control at least - 
only about 10-15% of the total JS output that a browser might run, but it 
does mean that in order to do anything you:

 * first download the .cache.html (a little over 5mb), start to use it, 
then for any one split point,
 * download entire leftovers chunk (11.5mb), then finally
 * download the specified split point

Without knowing your application, I don't know if ~13mb is okay to download 
just to start using it, or how much separation there is between each split 
point - if you can be confident that a user in one split point will ever 
visit another, etc. If the user will typically visit many of them, this is 
probably okay, if they will just use one or two I'd want to look into 
different ways of structuring things.

Seeing A, B, C, D sizes of your RPC services almost certainly points to the 
RPC situation that I had described, suggesting something like 90% overlap 
between so many RPC services is almost certainly points to a mistake in 
your RPC services or beans. Look for params in RPC services or fields in 
RPC beans that use raw generics, that reference Serializable or Comparable 
or some other abstract supertype with hundreds/thousands of subtypes.

Easiest way to diagnose this would be to look over 580-590kb files and find 
one that you know should serialize fewer types than the giant list - you 
can search for the line saying "false, false, false, false" to find the 
exact RPC RemoteService implemented by that, then find some type which 
almost certainly doesnt belong there. From there you'll have to look over 
the types you _know_ belong there, and find the oversight. It is possible 
that you'll only have one or two things to fix for all of them (if it is 
one supertype that can just be modified slightly, like making it abstract 
or correcting some generics), but it may also be that you have many places 
to fix.

To speed up compilation, try just adding  to the 
main .gwt.xml, and see if that keeps your code sizes roughly the same (but 
should cut something like half to 3/4ths of your compiled time off?).

I don't have time today to go over the code samples, but this should give 
you some starting points at least to investigate.

On Thursday, March 14, 2019 at 10:07:53 AM UTC-5, Vineet Jaiswal wrote:
>
> where as no. of code lines are concerned I can give you only an approx. 
> figure.
>
> 1. client + shared there might be minimum 10,00,000 lines code approx. 
> 2. server there might be minimum 50,000 lines code approx.   
>

-- 
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+unsubscr...@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.


Re: GWT Compilation Out Of Memory

2019-03-14 Thread Vineet Jaiswal
where as no. of code lines are concerned I can give you only an approx. 
figure.

1. client + shared there might be minimum 10,00,000 lines code approx. 
2. server there might be minimum 50,000 lines code approx.   

-- 
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+unsubscr...@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.


Re: GWT Compilation Out Of Memory

2019-03-14 Thread Vineet Jaiswal
please find all details asked by as word attachment & along with I am 
attaching sample code of client, server, shared as rar file


-- 
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+unsubscr...@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.


project details.docx
Description: MS-Word 2007 document


guiConfig.rar
Description: application/rar


Re: Unexpected behavior

2019-03-14 Thread Velusamy Velu
Colin:

Appreciate that, and I got the solution I have been looking for in your 
response.

On Thursday, March 14, 2019 at 8:48:09 AM UTC-4, Colin Alworth wrote:
>
> Also telling your JS debugger to pause on uncaught exceptions will help - 
> it will stop when that null.toString() takes place, letting you examine 
> which method you are in when it happens, and which local variable or field 
> is null.
>
> On Wednesday, March 13, 2019 at 3:33:48 PM UTC-5, Jens wrote:
>>
>> Why don't you just look at the JavaScript in Chrome to see if GWT 
>> compiler did some easy optimizations which cause your stepping though 
>> source maps look strange.
>>
>> Especially if you start SDM using -style PRETTY and 
>> -XmethodNameDisplayMode you can understand the JS relatively well, even 
>> without deep JS knowledge.
>>
>> -- 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+unsubscr...@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.


Re: GWT Compilation Out Of Memory

2019-03-14 Thread Colin Alworth
Are you able to answer the other questions too? This looks like the same 
numbers that was in your last email. "Lines of code" refers to the sources 
that the developers write, not the generated JS. My reply also asked for 
more detail on the deferredjs contents, just the last file numerically in 
each directory  (from which we can work out its relative size to the rest 
of the split points, the rest of the application).

On Thursday, March 14, 2019 at 7:51:25 AM UTC-5, Vineet Jaiswal wrote:
>
> folders & files size generated in war are as follows:
>
>1. deferredjs folder contains 5 folders (441mb of js files 
>cumulative)  
>2. *.gwt.rpc 647 files (308mb cumulative)
>3. *.cache.html 5 files (27.9mb cumulative)
>4. *.nocache.js is 8kb
>5. and other folders
>
>
> On Thu, Mar 14, 2019 at 6:14 PM Frank > 
> wrote:
>
>> How 'large' is your application ?
>>
>> How many lines of code ? How many screens ?
>>
>>
>> I can't imagine that a war file of 1.6GB is normal ? (unless it contains 
>> heeps of images/multimedia assets)
>>
>> -- 
>> 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+unsubscr...@googlegroups.com .
>> To post to this group, send email to google-we...@googlegroups.com 
>> .
>> Visit this group at https://groups.google.com/group/google-web-toolkit.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
> -- 
> Regards 
> Vineet Jaiswal
> [Project Manager]
> Dataman Computer Systems Pvt. Ltd.
>  
>

-- 
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+unsubscr...@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.


Re: GWT Compilation Out Of Memory

2019-03-14 Thread Vineet Jaiswal
folders & files size generated in war are as follows:

   1. deferredjs folder contains 5 folders (441mb of js files cumulative)
   2. *.gwt.rpc 647 files (308mb cumulative)
   3. *.cache.html 5 files (27.9mb cumulative)
   4. *.nocache.js is 8kb
   5. and other folders


On Thu, Mar 14, 2019 at 6:14 PM Frank  wrote:

> How 'large' is your application ?
>
> How many lines of code ? How many screens ?
>
>
> I can't imagine that a war file of 1.6GB is normal ? (unless it contains
> heeps of images/multimedia assets)
>
> --
> 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+unsubscr...@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.
>


-- 
Regards
Vineet Jaiswal
[Project Manager]
Dataman Computer Systems Pvt. Ltd.

-- 
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+unsubscr...@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.


Re: Unexpected behavior

2019-03-14 Thread Colin Alworth
Also telling your JS debugger to pause on uncaught exceptions will help - 
it will stop when that null.toString() takes place, letting you examine 
which method you are in when it happens, and which local variable or field 
is null.

On Wednesday, March 13, 2019 at 3:33:48 PM UTC-5, Jens wrote:
>
> Why don't you just look at the JavaScript in Chrome to see if GWT compiler 
> did some easy optimizations which cause your stepping though source maps 
> look strange.
>
> Especially if you start SDM using -style PRETTY and 
> -XmethodNameDisplayMode you can understand the JS relatively well, even 
> without deep JS knowledge.
>
> -- 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+unsubscr...@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.


Re: GWT Compilation Out Of Memory

2019-03-14 Thread Colin Alworth
How much Java code goes into this? Combined file, line counts between 
shared and client packages?

>From your .gwt.rpc files, My guess is that you have a huge amount of 
duplication between RPC interfaces. Improper use of supertypes, generics, 
interfaces, etc can cause the compiler to believe that much more is 
necessary to be compiled into each individual RPC service than actually is 
there. While people tend to suspect that List or Map or Set can cause this 
problem (and they can, if you subclass those yourself, but stock GWT plus 
guava doesn't actually have all that many collection types...), this is 
usually instead actually from a project's own interfaces or superclasses. 
For example, it is common to make a MyCompanyDTO or something, and to 
reference it like `List` here and there in the project. If 
that has hundreds or thousands of subtypes, each of those subtypes must be 
compiled in to every single rpc type, which multiplied by 647 is clearly a 
huge amount of code to generate, but usually any time this happens only a 
few possible subtypes even make sense there. More detail on what overlay 
exists between those files will help to clarify the issue.

What is the size of the _last_ file in each deferredjs// 
directory? There will be 5 such directories, and these are the split 
points, except the very last file, which is the "leftovers". If the last 
numbered file is very large compared to the other, this points to misuse of 
split points, since that file is downloaded _before_ any other split point 
can even begin in the project, which is certainly not helpful in breaking 
up a large application. 

Given that this is about 100mb of code per browser permutation, and given 
that the sum of the RPC files is far larger than that, you almost certainly 
have a massive amount of RPC duplication - fixing this will decrease your 
total compiled size and probably reduce the work the compiler needs to do 
by at least some small degree. With that understood and resolved, I would 
then just attach a normal JVM profiler to see what sort of work the 
compiler is up to, and see if there is something specific to your project 
(pathological case of some general Generator? some custom Generator poorly 
implemented?) that could directly be improved.

Turning off browser permutations would probably tell a lot too depending on 
what that does to compile times - is most of the time spent working on 
generating those permutations? How much of a hit to compiled sizes do you 
take in that process? etc. 

It might also be helpful to know if there is anything else on this system 
causing it to be slow, like some antivirus trying to scan while the 
compiler runs and generates new code. Lacking other detail from these 
questions, 8 hours sounds at least 7 hours too long to me on modern 
hardware. That processor looks to be about 3 years old from a quick search, 
but I'd expect that it should still be more than enough for this job.



On Thursday, March 14, 2019 at 5:21:13 AM UTC-5, Vineet Jaiswal wrote:
>
> 1. is there any relation between split points & *.cache.html files.
> 2. what should be the supposed ideal time of compilation for my 
> application. as I have mentioned the size of war generated after 
> compilation & keeping the system configuration in mind.
>
> folders & files size generated in war files are as follows:
>
>1. deferredjs folder contains 5 folders (441mb of js files 
>cumulative)  
>2. *.gwt.rpc 647 files (308mb cumulative)
>3. *.cache.html 5 files (27.9mb cumulative)
>4. *.nocache.js is 8kb
>5. and other folders
>
>
>
> On Thursday, March 14, 2019 at 3:33:18 PM UTC+5:30, Vineet Jaiswal wrote:
>>
>> GWT version: 2.6.1
>> Browser (with version): any
>> Operating System: Windows
>> --
>>
>> My Application is producing 1.6GB of war file and taking 7 to 8 hrs. for 
>> complete build of 5 permutation.
>> configuration of machine on which we are compiling is:
>> OS: windows server 2012 R2
>> RAM: 64GB
>> Processor: Intel R ZEON R CPU E3-1225 V5
>> Core : 4
>>
>>
>> we have defined gwt compile parameters as follows:
>> GWT Compiler JVM Arguments: -Xmx61440M
>> GWT Dev Mode JVM Arguments: -Xmx61440M
>> GWT Test JVM Arguments: -Xmx61440M
>>
>>
>>
>> we are facing two major problems:
>>
>>1. from last few days we are receiving out of memory error during 
>>compilation.
>>2. it is taking very huge time to build.
>>
>> we wish our project could break into smaller sections (modules compiled 
>> individually separately) and bundled in a single war at the time of 
>> release. like we use multiple dlls and use it in single exe. and in case of 
>> changes in any dll we need not to build whole exe again instead we only 
>> compile a dll and deploy it to client.
>>
>>
>> any suggestion \ help will be highly appreciated.
>>
>>
>> thank you!
>>
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe 

Re: GWT Compilation Out Of Memory

2019-03-14 Thread Frank
How 'large' is your application ?

How many lines of code ? How many screens ?


I can't imagine that a war file of 1.6GB is normal ? (unless it contains 
heeps of images/multimedia assets)

-- 
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+unsubscr...@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.


Re: GWT Compilation Out Of Memory

2019-03-14 Thread Vineet Jaiswal
1. is there any relation between split points & *.cache.html files.
2. what should be the supposed ideal time of compilation for my 
application. as I have mentioned the size of war generated after 
compilation & keeping the system configuration in mind.

folders & files size generated in war files are as follows:

   1. deferredjs folder contains 5 folders (441mb of js files cumulative)  
   2. *.gwt.rpc 647 files (308mb cumulative)
   3. *.cache.html 5 files (27.9mb cumulative)
   4. *.nocache.js is 8kb
   5. and other folders



On Thursday, March 14, 2019 at 3:33:18 PM UTC+5:30, Vineet Jaiswal wrote:
>
> GWT version: 2.6.1
> Browser (with version): any
> Operating System: Windows
> --
>
> My Application is producing 1.6GB of war file and taking 7 to 8 hrs. for 
> complete build of 5 permutation.
> configuration of machine on which we are compiling is:
> OS: windows server 2012 R2
> RAM: 64GB
> Processor: Intel R ZEON R CPU E3-1225 V5
> Core : 4
>
>
> we have defined gwt compile parameters as follows:
> GWT Compiler JVM Arguments: -Xmx61440M
> GWT Dev Mode JVM Arguments: -Xmx61440M
> GWT Test JVM Arguments: -Xmx61440M
>
>
>
> we are facing two major problems:
>
>1. from last few days we are receiving out of memory error during 
>compilation.
>2. it is taking very huge time to build.
>
> we wish our project could break into smaller sections (modules compiled 
> individually separately) and bundled in a single war at the time of 
> release. like we use multiple dlls and use it in single exe. and in case of 
> changes in any dll we need not to build whole exe again instead we only 
> compile a dll and deploy it to client.
>
>
> any suggestion \ help will be highly appreciated.
>
>
> thank you!
>

-- 
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+unsubscr...@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.


GWT Compilation Out Of Memory

2019-03-14 Thread Vineet Jaiswal


GWT version: 2.6.1
Browser (with version): any
Operating System: Windows
--

My Application is producing 1.6GB of war file and taking 7 to 8 hrs. for 
complete build of 5 permutation.
configuration of machine on which we are compiling is:
OS: windows server 2012 R2
RAM: 64GB
Processor: Intel R ZEON R CPU E3-1225 V5
Core : 4


we have defined gwt compile parameters as follows:
GWT Compiler JVM Arguments: -Xmx61440M
GWT Dev Mode JVM Arguments: -Xmx61440M
GWT Test JVM Arguments: -Xmx61440M



we are facing two major problems:

   1. from last few days we are receiving out of memory error during 
   compilation.
   2. it is taking very huge time to build.

we wish our project could break into smaller sections (modules compiled 
individually separately) and bundled in a single war at the time of 
release. like we use multiple dlls and use it in single exe. and in case of 
changes in any dll we need not to build whole exe again instead we only 
compile a dll and deploy it to client.


any suggestion \ help will be highly appreciated.


thank you!

-- 
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+unsubscr...@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.


compiler param & compilation error.docx
Description: MS-Word 2007 document