[ https://issues.apache.org/jira/browse/WSCOMMONS-556?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andreas Veithen resolved WSCOMMONS-556. --------------------------------------- Resolution: Fixed I think that isOwned() is actually broken and no longer meaningful. It seems to be a leftover from Xerces (from which DOOM was forked). In Xerces, a node has a single field to store either its parent or its owner document. The isOwned() method then allows Xerces to determine if the value represents the parent or the owner document. On the other hand, DOOM stores the owner document and the parent in two separate fields, and therefore isOwned() should no longer be meaningful (although it is still invoked in a couple of methods). Since in DOM, every node (with the exception of Document and DocumentType nodes) always has an owner document, one optimization is to store all user data in the document. This reduces the memory footprint because it eliminates one field for every node instance. The price to pay is an overhead in get/setUserData, but since these methods are rarely used, this is generally considered acceptable. Implementing this optimization would probably give only a very small advantage, and there are probably other performance issues in DOOM with higher impact, so this is not really a priority. Since we now have a consistent set of improvements and the aim is to get them into the 1.2.10 release (which is going to happen soon), I will mark this issue as resolved. Please feel free to open another JIRA if you have additional proposals. Thanks for working with us on these changes. > Performance improvement for axiom-dom module > -------------------------------------------- > > Key: WSCOMMONS-556 > URL: https://issues.apache.org/jira/browse/WSCOMMONS-556 > Project: WS-Commons > Issue Type: Improvement > Components: AXIOM > Affects Versions: Axiom 1.2.9 > Environment: Java 1.5 > Reporter: Kasun Gajasinghe > Assignee: Andreas Veithen > Fix For: Axiom 1.2.10 > > Attachments: axiom-dom-556-patch2.diff, axiom-perf-improvement.diff, > FINAL-times_for_large_samples_with_changes.png, > FINAL-times_for_small_samples_with_changes.png > > > This article published [0] on April 2010, shows that Axis2 has some major > performance issues compared to Metro and CXF. An analysis suggested that > most of the problems were with the axiom-dom module's methods, along with > Rampart. So, first we went on improving the axiom-dom module. Here's a patch > for the improvements we did. > Final assessments suggest considerable level improvement. Graphs for a > sample run of requests with small and large samples will be added to the > files section. > [0] http://www.ibm.com/developerworks/java/library/j-jws14/index.html -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.