You can start here: wikis.oracle.com/display/hotspotinternals/performancetechniques
Sent from my phone On Jan 22, 2014 5:37 PM, "Robert Stupp" <sn...@snazy.de> wrote: > Is there any documentation available which optimizations Hotspot can > perform and what "collecting a garbage" object costs? > I know that these are two completely different areas ;) > > I was inspecting whether the following code > for (Object o : someArrayList) { ... } > would be faster than > for (int i=0, l=someArrayList.size(); i<l; i++) { Object > o=someArrayList.get(i); } > for RandomAccessList implementations. The challenge here is not just to > track the CPU time spent creating & using the iterator vs. size() & get() > calls but also track GC effort (which is at least complicated if not > impossible due to the variety of GC configuration options). > > For example: > - Does it help Hotspot to declare parameters/variables as "final" or can > Hotspot identify that? > - When does Hotspot inline method calls in general and getters/setters > especially? > > I think such a piece of documentation (just what Hotspot can do in which > release) would be really helpful when someone tries to optimize code - want > to say: the question is: "Is something worth to spend time on or is this > special situation handled by Hotspot?" > > -Robert