Dennis,
what do you make of these test runs? as the name implies one is under
JDK15 the other one using JRockit.
thanks,
dims
On 3/30/06, Dennis Sosnoski <[EMAIL PROTECTED]> wrote:
You might want to just add this on to the one I created, Glen:
http://issues.apache.org/jira/browse/AXIS2-533 I include JDOM in my test
code there (using the Piccolo SAX parser), but didn't discuss the JDOM
results in the text since dom4j is generally faster and smaller.
- Dennis
Davanum Srinivas wrote:
Glen,
Could up please send the bigfile.xml as well? Better to do it via JIRA.
thanks,
dims
On 3/30/06, Glen Daniels <[EMAIL PROTECTED]> wrote:
Hi folks:
The following is a quick test which takes an XML input file, parses it,
and walks the tree collecting all text content. It does this using both
JDOM (note that you'll need the StAXBuilder and StAXTextModifier which
you can find at http://svn.woodstox.codehaus.org/utils/jdom/) and AXIOM,
100 times each, and then averages the timings. The code is as close to
identical as I could get for the two packages.
For the file I'm working with (about 150K) I'm seeing AXIOM get an
average time around 180ms, whereas JDOM comes in at around 77ms. The
strings match up. This could be better, because frankly JDOM is way
easier to use. :)
I think it might be time to integrate some performance testing into our
builds, and to do some optimization on AXIOM. I haven't yet looked at
comparing memory footprints, but may try to do that sometime soon.
--Glen
--------
import org.apache.axiom.om.OMXMLParserWrapper;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMNode;
import org.apache.axiom.om.impl.llom.factory.OMXMLBuilderFactory;
import org.jdom.input.StAXBuilder;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.Content;
import javax.xml.stream.XMLStreamReader;
import javax.xml.stream.XMLInputFactory;
import java.io.FileInputStream;
import java.util.Iterator;
import java.util.List;
import java.util.Date;
public class Test {
static class Timer {
long startTime;
long stopTime;
public void start() {
startTime = new Date().getTime();
}
public long stop() {
stopTime = new Date().getTime();
return (stopTime - startTime);
}
}
// A place to save the string length for comparison purposes
static int strLen = 0;
public static void main(String[] args) throws Exception {
// Replace with any big file
String FILENAME = "Scratch/bigfile.xml";
int NUM_RUNS = 100;
long accum = 0;
for (int i = 0; i < NUM_RUNS; i++) {
FileInputStream fis = new FileInputStream(FILENAME);
XMLStreamReader parser =
XMLInputFactory.newInstance().createXMLStreamReader(fis);
accum += runAXIOMTest(parser);
parser.close();
fis.close();
}
System.out.println("OM avg was " + (accum / NUM_RUNS) +
" (" + strLen + ")");
strLen = 0;
accum = 0;
for (int i = 0; i < NUM_RUNS; i++) {
FileInputStream fis = new FileInputStream(FILENAME);
XMLStreamReader parser =
XMLInputFactory.newInstance().createXMLStreamReader(fis);
accum += runJDOMTest(parser);
parser.close();
fis.close();
}
System.out.println("JDOM avg was " + (accum / NUM_RUNS) +
" (" + strLen + ")");
}
public static long runAXIOMTest(XMLStreamReader parser) throws
Exception {
Timer t = new Timer();
t.start();
OMXMLParserWrapper builder =
OMXMLBuilderFactory.createStAXOMBuilder(OMAbstractFactory.getOMFactory(),
parser);
OMElement root = builder.getDocumentElement();
StringBuffer buf = new StringBuffer();
genAXIOMString(root, buf);
long elapsed = t.stop();
if (strLen == 0) {
// System.out.println("[" + buf.toString() + "]");
strLen = buf.length();
}
return elapsed;
}
public static long runJDOMTest(XMLStreamReader parser) throws
Exception {
Timer t = new Timer();
t.start();
StAXBuilder builder = new StAXBuilder();
Document doc = builder.build(parser);
StringBuffer buf = new StringBuffer();
Element root = doc.getRootElement();
genJDOMString(root, buf);
long elapsed = t.stop();
if (strLen == 0) {
// System.out.println("[" + buf.toString() + "]");
strLen = buf.length();
}
return elapsed;
}
// These two methods do the exact same thing, one for AXIOM and one
// for JDOM. Walk the tree and collect all the text.
public static void genAXIOMString(OMElement el, StringBuffer buf) {
buf.append(el.getText());
Iterator i = el.getChildren();
while (i.hasNext()) {
OMNode node = (OMNode)i.next();
if (node instanceof OMElement) {
OMElement element = (OMElement) node;
genAXIOMString(element, buf);
}
}
}
public static void genJDOMString(Element el, StringBuffer buf) {
buf.append(el.getText());
List children = el.getChildren();
for (Iterator i = children.iterator(); i.hasNext();) {
Content content = (Content)i.next();
if (content instanceof Element) {
Element element = (Element)content;
genJDOMString(element, buf);
}
}
}
}
--
Davanum Srinivas : http://wso2.com/blogs/
--
Davanum Srinivas : http://wso2.com/blogs/
------------------------------------------------------------------------
C:\perf2>java -Xms512M -Xmx512M -cp
bin;lib/jaxp.jar;lib/Piccolo.jar;lib/jdom.jar com.sosnoski.xmlbench.XMLBench -sb
-u com.bluecast.xml.Piccolo jdom docs/init.xml docs/xmlformatter.xml docs/soaps
Running JDOM with 10 passes on file docs/init.xml (3604 bytes):
Document has 51 elements, 82 attributes with 1215 characters of data, and 65
content text segments with 380 characters of text
Original text size was 3604, output text size was 3441
Build mn=1868 Build av=7267 Walk mn=23 Walk av=141 Build-Walk
mn=1891
Build-Walk av=7408 Write mn=720 Write av=2053 Mod mn=125 Mod av=322
Elems=51 Conts=65 Attrs=82 Text ch=380 Attr ch=1215
Running JDOM with 10 passes on file docs/xmlformatter.xml (274920 bytes):
Document has 5009 elements, 1 attributes with 1 characters of data, and 10017
content text segments with 92468 characters of text
Original text size was 274920, output text size was 274962
Build mn=33318 Build av=43830 Walk mn=703 Walk av=1492 Build-Walk
mn=34021
Build-Walk av=45322 Write mn=15636 Write av=25741 Mod mn=6765 Mod av=7114
Elems=5009 Conts=10017 Attrs=1 Text ch=92468 Attr ch=1
Running JDOM with 10 passes on directory docs/soaps (30 files totaling 19407
bytes):
Document has 211 elements, 162 attributes with 2431 characters of data, and 72
content text segments with 452 characters of text
Original text size was 19407, output text size was 19521
Build mn=3975 Build av=6611 Walk mn=72 Walk av=104 Build-Walk
mn=4047
Build-Walk av=6715 Write mn=2813 Write av=16344 Mod mn=115 Mod av=120
Elems=211 Conts=72 Attrs=162 Text ch=452 Attr ch=2431
C:\perf2>java -Xms512M -Xmx512M -cp
bin;lib/jaxp.jar;lib/Piccolo.jar;lib/dom4j.jar com.sosnoski.xmlbench.XMLBench -sb
-u com.bluecast.xml.Piccolo dom4j docs/init.xml docs/xmlformatter.xml docs/soaps
Running dom4j with 10 passes on file docs/init.xml (3604 bytes):
Document has 51 elements, 82 attributes with 1215 characters of data, and 65
content text segments with 380 characters of text
Original text size was 3604, output text size was 3329
Build mn=2390 Build av=6768 Walk mn=75 Walk av=262 Build-Walk
mn=2465
Build-Walk av=7030 Write mn=656 Write av=2103 Mod mn=2 Mod av=2
Elems=51 Conts=65 Attrs=82 Text ch=380 Attr ch=1215
Running dom4j with 10 passes on file docs/xmlformatter.xml (274920 bytes):
Document has 5009 elements, 1 attributes with 1 characters of data, and 10020
content text segments with 92468 characters of text
Original text size was 274920, output text size was 268945
Build mn=16091 Build av=17048 Walk mn=2146 Walk av=2225 Build-Walk
mn=18237
Build-Walk av=19273 Write mn=14927 Write av=15583 Mod mn=2 Mod av=2
Elems=5009 Conts=10020 Attrs=1 Text ch=92468 Attr ch=1
Running dom4j with 10 passes on directory docs/soaps (30 files totaling 19407
bytes):
Document has 211 elements, 162 attributes with 2431 characters of data, and 72
content text segments with 452 characters of text
Original text size was 19407, output text size was 19450
Build mn=4975 Build av=7369 Walk mn=83 Walk av=94 Build-Walk
mn=5058
Build-Walk av=7463 Write mn=2688 Write av=3134 Mod mn=3 Mod av=3
Elems=211 Conts=72 Attrs=162 Text ch=452 Attr ch=2431
C:\perf2>#java -Xms512M -Xmx512M -cp
bin;lib/dom4j.jar;lib/stax-api-1.0.jar;lib/wstx-asl-2.8.2.jar
com.sosnoski.xmlbench.XMLBench -sb dom4jstax docs/init.xml docs/xmlformatter.xml
docs/soaps
'#java' is not recognized as an internal or external command,
operable program or batch file.
C:\perf2>java -Xms512M -Xmx512M -cp
bin;lib/xmlParserAPIs.jar;lib/xercesImpl.jar com.sosnoski.xmlbench.XMLBench -sb
xerces2 docs/init.xml docs/xmlformatter.xml docs/soaps
Running Xerces2 DOM with 10 passes on file docs/init.xml (3604 bytes):
Document has 51 elements, 84 attributes with 1269 characters of data, and 65
content text segments with 380 characters of text
Original text size was 3604, output text size was 3263
Build mn=3205 Build av=4825 Walk mn=59 Walk av=324 Build-Walk
mn=3264
Build-Walk av=5149 Write mn=353 Write av=2660 Mod mn=272 Mod av=690
Elems=51 Conts=65 Attrs=84 Text ch=380 Attr ch=1269
Running Xerces2 DOM with 10 passes on file docs/xmlformatter.xml (274920 bytes):
Document has 5009 elements, 1006 attributes with 104150 characters of data,
and 10017 content text segments with 92468 characters of text
Original text size was 274920, output text size was 268945
Build mn=17272 Build av=17925 Walk mn=1463 Walk av=1528 Build-Walk
mn=18735
Build-Walk av=19453 Write mn=13993 Write av=14586 Mod mn=10135 Mod av=23954
Elems=5009 Conts=10017 Attrs=1006 Text ch=92468 Attr ch=104150
Running Xerces2 DOM with 10 passes on directory docs/soaps (30 files totaling
19407 bytes):
Document has 211 elements, 314 attributes with 7660 characters of data, and 72
content text segments with 452 characters of text
Original text size was 19407, output text size was 19416
Build mn=3696 Build av=5494 Walk mn=82 Walk av=100 Build-Walk
mn=3778
Build-Walk av=5594 Write mn=2008 Write av=4665 Mod mn=158 Mod av=168
Elems=211 Conts=72 Attrs=314 Text ch=452 Attr ch=7660
C:\perf2>java -Xms512M -Xmx512M -cp
bin;lib/axiom-api-SNAPSHOT.jar;lib/axiom-impl-SNAPSHOT.jar;lib/stax-api-1.0.jar;lib/wstx-asl-2.8.2.jar
com.sosnoski.xmlbench.XMLBench -sb axiom docs/init.xml docs/xmlformatter.xml
docs/soaps
Running Axiom with 10 passes on file docs/init.xml (3604 bytes):
Document has 51 elements, 82 attributes with 1215 characters of data, and 65
content text segments with 380 characters of text
Original text size was 3604, output text size was 3737
Build mn=440 Build av=3411 Walk mn=2385 Walk av=4784 Build-Walk
mn=2825
Build-Walk av=8195 Write mn=1255 Write av=2874 Mod mn=2 Mod av=2
Elems=51 Conts=65 Attrs=82 Text ch=380 Attr ch=1215
Running Axiom with 10 passes on file docs/xmlformatter.xml (274920 bytes):
Document has 5009 elements, 1 attributes with 1 characters of data, and 10017
content text segments with 92468 characters of text
Original text size was 274920, output text size was 269121
Build mn=378 Build av=507 Walk mn=28728 Walk av=53739 Build-Walk
mn=29106
Build-Walk av=54246 Write mn=21561 Write av=30035 Mod mn=2 Mod av=2
Elems=5009 Conts=10017 Attrs=1 Text ch=92468 Attr ch=1
Running Axiom with 10 passes on directory docs/soaps (30 files totaling 19407
bytes):
Document has 211 elements, 162 attributes with 2431 characters of data, and 72
content text segments with 452 characters of text
Original text size was 19407, output text size was 20490
Build mn=10693 Build av=13045 Walk mn=1790 Walk av=2402 Build-Walk
mn=12483
Build-Walk av=15447 Write mn=11645 Write av=15071 Mod mn=3 Mod av=3
Elems=211 Conts=72 Attrs=162 Text ch=452 Attr ch=2431
C:\perf2>java -Xms512M -Xmx512M -cp
bin;lib/jaxp.jar;lib/Piccolo.jar;lib/jdom.jar com.sosnoski.xmlbench.XMLBench
-sbmp4n -u com.bluecast.xml.Piccolo jdom docs/init.xml docs/xmlformatter.xml
docs/soaps
Running JDOM memory test with 4 passes on file docs/init.xml (3604 bytes):
Init mem=430528 Chg mem=417824 First sz=501664 Avg sz=18800 Walked sz=0
Avg+Walked sz=18800
Running JDOM memory test with 4 passes on file docs/xmlformatter.xml (274920
bytes):
Init mem=848392 Chg mem=1656 First sz=1422536 Avg sz=1356328 Walked sz=0
Avg+Walked sz=1356328
Running JDOM memory test with 4 passes on directory docs/soaps (30 files
totaling 19407 bytes):
Init mem=853352 Chg mem=2560 First sz=125624 Avg sz=53304 Walked sz=0
Avg+Walked sz=53304
C:\perf2>java -Xms512M -Xmx512M -cp
bin;lib/jaxp.jar;lib/Piccolo.jar;lib/dom4j.jar com.sosnoski.xmlbench.XMLBench
-sbmp4n -u com.bluecast.xml.Piccolo dom4j docs/init.xml docs/xmlformatter.xml
docs/soaps
Running dom4j memory test with 4 passes on file docs/init.xml (3604 bytes):
Init mem=430536 Chg mem=427448 First sz=500032 Avg sz=15264 Walked sz=0
Avg+Walked sz=15264
Running dom4j memory test with 4 passes on file docs/xmlformatter.xml (274920
bytes):
Init mem=858024 Chg mem=3856 First sz=1032496 Avg sz=971976 Walked sz=0
Avg+Walked sz=971976
Running dom4j memory test with 4 passes on directory docs/soaps (30 files
totaling 19407 bytes):
Init mem=865184 Chg mem=7944 First sz=103824 Avg sz=33768 Walked sz=0
Avg+Walked sz=33768
C:\perf2>#java -Xms512M -Xmx512M -cp
bin;lib/dom4j.jar;lib/stax-api-1.0.jar;lib/wstx-asl-2.8.2.jar
com.sosnoski.xmlbench.XMLBench -sbmp4n dom4jstax docs/init.xml
docs/xmlformatter.xml docs/soaps
'#java' is not recognized as an internal or external command,
operable program or batch file.
C:\perf2>java -Xms512M -Xmx512M -cp
bin;lib/xmlParserAPIs.jar;lib/xercesImpl.jar com.sosnoski.xmlbench.XMLBench
-sbmp4n xerces2 docs/init.xml docs/xmlformatter.xml docs/soaps
Running Xerces2 DOM memory test with 4 passes on file docs/init.xml (3604
bytes):
Init mem=430096 Chg mem=106328 First sz=151064 Avg sz=21824 Walked sz=0
Avg+Walked sz=21824
Running Xerces2 DOM memory test with 4 passes on file docs/xmlformatter.xml
(274920 bytes):
Init mem=536464 Chg mem=0 First sz=1619904 Avg sz=1602008 Walked sz=0
Avg+Walked sz=1602008
Running Xerces2 DOM memory test with 4 passes on directory docs/soaps (30 files
totaling 19407 bytes):
Init mem=539768 Chg mem=0 First sz=105336 Avg sz=78696 Walked sz=0
Avg+Walked sz=78696
C:\perf2>java -Xms512M -Xmx512M -cp
bin;lib/axiom-api-SNAPSHOT.jar;lib/axiom-impl-SNAPSHOT.jar;lib/stax-api-1.0.jar;lib/wstx-asl-2.8.2.jar
com.sosnoski.xmlbench.XMLBench -sbmp4n axiom docs/init.xml docs/xmlformatter.xml
docs/soaps
Running Axiom memory test with 4 passes on file docs/init.xml (3604 bytes):
Init mem=457736 Chg mem=51760 First sz=64272 Avg sz=14992 Walked sz=35965
Avg+Walked sz=50957
Running Axiom memory test with 4 passes on file docs/xmlformatter.xml (274920
bytes):
Init mem=509536 Chg mem=928 First sz=15192 Avg sz=15261 Walked
sz=2071960
Avg+Walked sz=2087221
Running Axiom memory test with 4 passes on directory docs/soaps (30 files
totaling 19407 bytes):
Init mem=513768 Chg mem=1640 First sz=451960 Avg sz=449760 Walked sz=103520
Avg+Walked sz=553280
C:\perf2>
------------------------------------------------------------------------
C:\perf2>java -Xms512M -Xmx512M -cp
bin;lib/jaxp.jar;lib/Piccolo.jar;lib/jdom.jar com.sosnoski.xmlbench.XMLBench -sb
-u com.bluecast.xml.Piccolo jdom docs/init.xml docs/xmlformatter.xml docs/soaps
Running JDOM with 10 passes on file docs/init.xml (3604 bytes):
Document has 51 elements, 82 attributes with 1215 characters of data, and 65
content text segments with 380 characters of text
Original text size was 3604, output text size was 3441
Build mn=315 Build av=340 Walk mn=9 Walk av=10 Build-Walk
mn=324
Build-Walk av=350 Write mn=286 Write av=329 Mod mn=35 Mod av=36
Elems=51 Conts=65 Attrs=82 Text ch=380 Attr ch=1215
Running JDOM with 10 passes on file docs/xmlformatter.xml (274920 bytes):
Document has 5009 elements, 1 attributes with 1 characters of data, and 10017
content text segments with 92468 characters of text
Original text size was 274920, output text size was 274962
Build mn=36055 Build av=37926 Walk mn=2097 Walk av=2190 Build-Walk
mn=38152
Build-Walk av=40116 Write mn=21226 Write av=23061 Mod mn=11950 Mod av=12656
Elems=5009 Conts=10017 Attrs=1 Text ch=92468 Attr ch=1
Running JDOM with 10 passes on directory docs/soaps (30 files totaling 19407
bytes):
Document has 211 elements, 162 attributes with 2431 characters of data, and 72
content text segments with 452 characters of text
Original text size was 19407, output text size was 19521
Build mn=2727 Build av=3090 Walk mn=57 Walk av=100 Build-Walk
mn=2784
Build-Walk av=3190 Write mn=2642 Write av=3037 Mod mn=169 Mod av=180
Elems=211 Conts=72 Attrs=162 Text ch=452 Attr ch=2431
C:\perf2>java -Xms512M -Xmx512M -cp
bin;lib/jaxp.jar;lib/Piccolo.jar;lib/dom4j.jar com.sosnoski.xmlbench.XMLBench -sb
-u com.bluecast.xml.Piccolo dom4j docs/init.xml docs/xmlformatter.xml docs/soaps
Running dom4j with 10 passes on file docs/init.xml (3604 bytes):
Document has 51 elements, 82 attributes with 1215 characters of data, and 65
content text segments with 380 characters of text
Original text size was 3604, output text size was 3329
Build mn=273 Build av=284 Walk mn=15 Walk av=15 Build-Walk
mn=288
Build-Walk av=299 Write mn=234 Write av=266 Mod mn=2 Mod av=2
Elems=51 Conts=65 Attrs=82 Text ch=380 Attr ch=1215
Running dom4j with 10 passes on file docs/xmlformatter.xml (274920 bytes):
Document has 5009 elements, 1 attributes with 1 characters of data, and 10020
content text segments with 92468 characters of text
Original text size was 274920, output text size was 268945
Build mn=17597 Build av=17924 Walk mn=1273 Walk av=1317 Build-Walk
mn=18870
Build-Walk av=19241 Write mn=13767 Write av=14002 Mod mn=2 Mod av=2
Elems=5009 Conts=10020 Attrs=1 Text ch=92468 Attr ch=1
Running dom4j with 10 passes on directory docs/soaps (30 files totaling 19407
bytes):
Document has 211 elements, 162 attributes with 2431 characters of data, and 72
content text segments with 452 characters of text
Original text size was 19407, output text size was 19450
Build mn=1921 Build av=2070 Walk mn=36 Walk av=40 Build-Walk
mn=1957
Build-Walk av=2110 Write mn=2049 Write av=2225 Mod mn=2 Mod av=2
Elems=211 Conts=72 Attrs=162 Text ch=452 Attr ch=2431
C:\perf2>#java -Xms512M -Xmx512M -cp
bin;lib/dom4j.jar;lib/stax-api-1.0.jar;lib/wstx-asl-2.8.2.jar
com.sosnoski.xmlbench.XMLBench -sb dom4jstax docs/init.xml docs/xmlformatter.xml
docs/soaps
'#java' is not recognized as an internal or external command,
operable program or batch file.
C:\perf2>java -Xms512M -Xmx512M -cp
bin;lib/xmlParserAPIs.jar;lib/xercesImpl.jar com.sosnoski.xmlbench.XMLBench -sb
xerces2 docs/init.xml docs/xmlformatter.xml docs/soaps
Running Xerces2 DOM with 10 passes on file docs/init.xml (3604 bytes):
Document has 51 elements, 84 attributes with 1269 characters of data, and 65
content text segments with 380 characters of text
Original text size was 3604, output text size was 3263
Build mn=323 Build av=357 Walk mn=24 Walk av=24 Build-Walk
mn=347
Build-Walk av=381 Write mn=145 Write av=150 Mod mn=29 Mod av=31
Elems=51 Conts=65 Attrs=84 Text ch=380 Attr ch=1269
Running Xerces2 DOM with 10 passes on file docs/xmlformatter.xml (274920 bytes):
Document has 5009 elements, 1006 attributes with 104150 characters of data,
and 10017 content text segments with 92468 characters of text
Original text size was 274920, output text size was 268945
Build mn=18384 Build av=18824 Walk mn=1239 Walk av=1336 Build-Walk
mn=19623
Build-Walk av=20160 Write mn=11704 Write av=11998 Mod mn=11572 Mod av=12464
Elems=5009 Conts=10017 Attrs=1006 Text ch=92468 Attr ch=104150
Running Xerces2 DOM with 10 passes on directory docs/soaps (30 files totaling
19407 bytes):
Document has 211 elements, 314 attributes with 7660 characters of data, and 72
content text segments with 452 characters of text
Original text size was 19407, output text size was 19416
Build mn=2053 Build av=2201 Walk mn=69 Walk av=81 Build-Walk
mn=2122
Build-Walk av=2282 Write mn=1306 Write av=1439 Mod mn=155 Mod av=161
Elems=211 Conts=72 Attrs=314 Text ch=452 Attr ch=7660
C:\perf2>java -Xms512M -Xmx512M -cp
bin;lib/axiom-api-SNAPSHOT.jar;lib/axiom-impl-SNAPSHOT.jar;lib/stax-api-1.0.jar;lib/wstx-asl-2.8.2.jar
com.sosnoski.xmlbench.XMLBench -sb axiom docs/init.xml docs/xmlformatter.xml
docs/soaps
Running Axiom with 10 passes on file docs/init.xml (3604 bytes):
Document has 51 elements, 82 attributes with 1215 characters of data, and 65
content text segments with 380 characters of text
Original text size was 3604, output text size was 3737
Build mn=152 Build av=256 Walk mn=275 Walk av=303 Build-Walk
mn=427
Build-Walk av=559 Write mn=566 Write av=663 Mod mn=2 Mod av=2
Elems=51 Conts=65 Attrs=82 Text ch=380 Attr ch=1215
Running Axiom with 10 passes on file docs/xmlformatter.xml (274920 bytes):
Document has 5009 elements, 1 attributes with 1 characters of data, and 10017
content text segments with 92468 characters of text
Original text size was 274920, output text size was 269121
Build mn=158 Build av=178 Walk mn=24423 Walk av=25256 Build-Walk
mn=24581
Build-Walk av=25434 Write mn=25519 Write av=26312 Mod mn=2 Mod av=2
Elems=5009 Conts=10017 Attrs=1 Text ch=92468 Attr ch=1
Running Axiom with 10 passes on directory docs/soaps (30 files totaling 19407
bytes):
Document has 211 elements, 162 attributes with 2431 characters of data, and 72
content text segments with 452 characters of text
Original text size was 19407, output text size was 20490
Build mn=6136 Build av=6866 Walk mn=1356 Walk av=1668 Build-Walk
mn=7492
Build-Walk av=8534 Write mn=8156 Write av=8653 Mod mn=2 Mod av=2
Elems=211 Conts=72 Attrs=162 Text ch=452 Attr ch=2431
C:\perf2>java -Xms512M -Xmx512M -cp
bin;lib/jaxp.jar;lib/Piccolo.jar;lib/jdom.jar com.sosnoski.xmlbench.XMLBench
-sbmp4n -u com.bluecast.xml.Piccolo jdom docs/init.xml docs/xmlformatter.xml
docs/soaps
Running JDOM memory test with 4 passes on file docs/init.xml (3604 bytes):
Init mem=516152 Chg mem=533480 First sz=700392 Avg sz=-9522 Walked sz=-19786
Avg+Walked sz=-29308
Running JDOM memory test with 4 passes on file docs/xmlformatter.xml (274920
bytes):
Init mem=1051736 Chg mem=1512 First sz=1479400 Avg sz=6157834 Walked
sz=-6157954
Avg+Walked sz=-120
Running JDOM memory test with 4 passes on directory docs/soaps (30 files
totaling 19407 bytes):
Init mem=1051656 Chg mem=6816 First sz=293616 Avg sz=5202 Walked sz=-61760
Avg+Walked sz=-56558
C:\perf2>java -Xms512M -Xmx512M -cp
bin;lib/jaxp.jar;lib/Piccolo.jar;lib/dom4j.jar com.sosnoski.xmlbench.XMLBench
-sbmp4n -u com.bluecast.xml.Piccolo dom4j docs/init.xml docs/xmlformatter.xml
docs/soaps
Running dom4j memory test with 4 passes on file docs/init.xml (3604 bytes):
Init mem=516160 Chg mem=531680 First sz=687664 Avg sz=-13730 Walked sz=-15917
Avg+Walked sz=-29647
Running dom4j memory test with 4 passes on file docs/xmlformatter.xml (274920
bytes):
Init mem=1041864 Chg mem=7344 First sz=1168264 Avg sz=1105069 Walked
sz=-1139941
Avg+Walked sz=-34872
Running dom4j memory test with 4 passes on directory docs/soaps (30 files
totaling 19407 bytes):
Init mem=1050672 Chg mem=13352 First sz=178392 Avg sz=13842 Walked sz=-37320
Avg+Walked sz=-23478
C:\perf2>#java -Xms512M -Xmx512M -cp
bin;lib/dom4j.jar;lib/stax-api-1.0.jar;lib/wstx-asl-2.8.2.jar
com.sosnoski.xmlbench.XMLBench -sbmp4n dom4jstax docs/init.xml
docs/xmlformatter.xml docs/soaps
'#java' is not recognized as an internal or external command,
operable program or batch file.
C:\perf2>java -Xms512M -Xmx512M -cp
bin;lib/xmlParserAPIs.jar;lib/xercesImpl.jar com.sosnoski.xmlbench.XMLBench
-sbmp4n xerces2 docs/init.xml docs/xmlformatter.xml docs/soaps
Running Xerces2 DOM memory test with 4 passes on file docs/init.xml (3604
bytes):
Init mem=515616 Chg mem=230808 First sz=400208 Avg sz=-24584 Walked sz=-29778
Avg+Walked sz=-54362
Running Xerces2 DOM memory test with 4 passes on file docs/xmlformatter.xml
(274920 bytes):
Init mem=728464 Chg mem=6448 First sz=1682440 Avg sz=1657152 Walked
sz=-2211264
Avg+Walked sz=-554112
Running Xerces2 DOM memory test with 4 passes on directory docs/soaps (30 files
totaling 19407 bytes):
Init mem=733768 Chg mem=3088 First sz=141112 Avg sz=72626 Walked sz=-87696
Avg+Walked sz=-15070
C:\perf2>java -Xms512M -Xmx512M -cp
bin;lib/axiom-api-SNAPSHOT.jar;lib/axiom-impl-SNAPSHOT.jar;lib/stax-api-1.0.jar;lib/wstx-asl-2.8.2.jar
com.sosnoski.xmlbench.XMLBench -sbmp4n axiom docs/init.xml docs/xmlformatter.xml
docs/soaps
Running Axiom memory test with 4 passes on file docs/init.xml (3604 bytes):
Init mem=576560 Chg mem=67832 First sz=166328 Avg sz=-19077 Walked sz=-13754
Avg+Walked sz=-32831
Running Axiom memory test with 4 passes on file docs/xmlformatter.xml (274920
bytes):
Init mem=644584 Chg mem=1272 First sz=17320 Avg sz=14218 Walked sz=-16976
Avg+Walked sz=-2758
Running Axiom memory test with 4 passes on directory docs/soaps (30 files
totaling 19407 bytes):
Init mem=649512 Chg mem=2552 First sz=450704 Avg sz=473432 Walked
sz=-615925
Avg+Walked sz=-142493
C:\perf2>