[prev in list] [next in list] [prev in thread] [next in thread]
List: axis-dev
Subject: [jira] Commented: (AXIS2-533) Axiom is heavy-weight and slow
From: "Dennis Sosnoski (JIRA)" <jira () apache ! org>
Date: 2006-03-31 21:39:56
Message-ID: 1193485563.1143841196964.JavaMail.jira () ajax
[Download RAW message or body]
[ http://issues.apache.org/jira/browse/AXIS2-533?page=comments#action_12372725 ]
Dennis Sosnoski commented on AXIS2-533:
---------------------------------------
Absolutely, dims - I checked the box on the form to say I was licensing it for ASF \
use. Let me know if there's anything you'd like to try out - the test code is a \
little convoluted because it's based on a general framework.
> Axiom is heavy-weight and slow
> ------------------------------
>
> Key: AXIS2-533
> URL: http://issues.apache.org/jira/browse/AXIS2-533
> Project: Apache Axis 2.0 (Axis2)
> Type: Bug
> Components: om
> Versions: 0.95
> Environment: n/a
> Reporter: Dennis Sosnoski
> Attachments: ombench.zip
>
> In performance tests comparing Axiom with JDOM, dom4j, and Xerces DOM document \
> models Axiom was consistently both slower and bulkier than the other OMs when the \
> tree was expanded. Axiom delivered good performance for the initial "parse" \
> operation only by virtue of not building the tree. Here are some time comparison \
> figures for Axiom vs. dom4j on a fairly large SOAP response (from the MS interop \
> suite): Running Axiom with 10 passes on file docs/xmlformatter.xml (274920 bytes):
> Build mn=563 Build av=5110 Walk mn=33360 Walk av=60885 Build-Walk mn=33923
> Build-Walk av=65995 Write mn=31774 Write av=52782 Mod mn=5 Mod av=6
> Running dom4j with 10 passes on file docs/xmlformatter.xml (274920 bytes):
> Build mn=24816 Build av=28843 Walk mn=2839 Walk av=3055 Build-Walk mn=27655
> Build-Walk av=31898 Write mn=18866 Write av=19369 Mod mn=5 Mod av=6
> The most interesting figures here are the Build-Walk time (sum of microseconds for \
> the initial parse operation plus walking the document tree, which forces Axiom \
> expansion) and the Write time. The average times are especially bad by comparison \
> with dom4j, which I'd suspect is caused by a lot of temporary object creation. The \
> write times may be at least partially caused by the XMLStreamWriter API, since only \
> Axiom uses this approach for output. Here are memory comparisons: Running Axiom \
> memory test with 4 passes on file docs/xmlformatter.xml (274920 bytes): Init \
> mem=451872 Chg mem=928 First sz=15192 Avg sz=15261 Walked sz=2071960 \
> Avg+Walked sz=2087221 Running dom4j memory test with 4 passes on file \
> docs/xmlformatter.xml (274920 bytes): Init mem=829968 Chg mem=3120 First \
> sz=1031760 Avg sz=971976 Walked sz=0 Avg+Walked sz=971976
> The interesting figures here are the Avg+Walked sz values, which give the total \
> bytes of memory in use after parsing and walking the document representation. Here \
> are the same time and memory test results for a collection of smaller SOAP \
> documents: Running Axiom with 10 passes on directory docs/soaps (30 files totaling \
> 19407 bytes): Build mn=13610 Build av=16897 Walk mn=2332 Walk av=10523 \
> Build-Walk mn=15942 Build-Walk av=27420 Write mn=16079 Write av=22565 Mod mn=9 \
> Mod av=9 Running dom4j with 10 passes on directory docs/soaps (30 files totaling \
> 19407 bytes): Build mn=7507 Build av=12354 Walk mn=121 Walk av=134 \
> Build-Walk mn=7628 Build-Walk av=12488 Write mn=4226 Write av=5012 Mod mn=10 \
> Mod av=10 Running Axiom memory test with 4 passes on directory docs/soaps (30 files \
> totaling 19407 bytes): Init mem=456104 Chg mem=1640 First sz=451960 Avg \
> sz=449760 Walked sz=103520 Avg+Walked sz=553280
> Running dom4j memory test with 4 passes on directory docs/soaps (30 files totaling \
> 19407 bytes): Init mem=836392 Chg mem=7944 First sz=103824 Avg sz=33768 \
> Walked sz=0 Avg+Walked sz=33768
> Note the huge memory usage in this case. It appears that Axiom has a high \
> per-document memory overhead, perhaps caused by holding on to the XMLStreamReader \
> (which suggests the references to the reader should be cleared as the tree is \
> constructed, so that once the tree is complete the reader can be garbage \
> collected).
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic