[
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.