Sunday, August 30, 2015

Re: Why code ends up in Left over Soyc report? How to analyze?


The class "InkomstenOverzichtCalculator2011" is contained in a common project that is both included in Ztoeslag and Declare, but ONLY used in Declare...
Splitpoint #4 is the one in UtilsTotal from the code above. But I only see a single split point ?? While UtilsTotal contains 2 runAsyn calls. Its like they are merged in 1 split point? Maybe because the split points are contained in the same Class. But they other split points from the other app's, are also contained in the same class and all show up correctly, that: the listed split points correspond to the runAsyn calls.

You have used "fragmentCount" during compilation. When using this setting you are allowing the compiler to merge split points if the compiler thinks that merging will decrease the size of your left over fragment. You can not control how exactly the compiler will merge split points. So if you remove the parameter then your split points should be exactly the way they are in your code, however I am pretty sure your left over fragment will be larger then (e.g. code of the common library used in both apps will end up in left over but now might be exclusive to the merged split point #4).

Just to reiterate and make sure I understand you correctly, you have clicked:
1. On the left over fragment link
2. Seen the InkomstenOverzichtCalculator2011 and wondered why its in left over
3. clicked on it and then clicked on "see why its not exclusive to split point #4" because split point #4 contains both apps (GWT has merged both split points)

The next thing you will see are methods of InkomstenOverzichtCalculator2011 that are not exclusive to split point #4. The first one seems to be the class literal or constructor (not sure) and then the method reisAftrek. Now when you open up the call stack you see that both these entries are directly referenced through createCodeSplitDeclare100. That means these two methods can not be exclusive to #4 anymore as your createCodeSplitDeclare100 split point also accesses them. These are the call chains you need to fix if you want to make InkomstenOverzichtCalculator2011 exclusive to #4.

Also keep in mind that code splitting works on method level. That means depending on the code of InkomstenOverzichtCalculator2011 its likely that only these two entries are in the left over fragment but other methods of InkomstenOverzichtCalculator2011 are exclusive to split point #4.


-- J.

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

No comments:

Post a Comment