ParsingTest
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
parent directory.. | ||||
To build:
Calculating the sizes of DOM objects requires the SizeOf library from
sourceforce:
http://sizeof.sourceforge.net/
Download the library from that site and set
SIZEOF=/path_to/SizeOf.jar
Json parsing requires the reference (or other) implementation of
json. Download it with glassfish, or from the json-p RI page
https://jsonp.java.net/
and set
JSON_P=/path_to/javax.json.jar
Comparison to Jackson requires the Jackson Streaming Parser downloaded
from
https://github.com/FasterXML/jackson-core
and set
JACKSON=/path_to/
The sample ebay document to parse requires that you obtain an eBay
affiliate ID and retrive this URL:
XML output:
http://open.api.ebay.com/shopping?callname=FindPopularItems&responseencoding=XML&appid=YourAppId
JSON output:
http://open.api.ebay.com/shopping?callname=FindPopularItems&responseencoding=JSON&appid=YourAppId
The sample documents should be placed in docs/xml/ebay.xml and
docs/json/ebay.json.
To run:
java <jvmargs> -jar dist/ParsingTest.jar -n <number of iterations> \
-w <number of warmup iterations> property_file
Tests are normally run with 100000 iterations and 10000 warmup iterations
Example 10-3:
10-element Json results are generated by specifying JsonFilteringTest.props
20-element Json results are generated by specifying JsonTest.props
10-element Stax results are generated by specifying StaxFilteringTest.props
20-element Stax results are generated by specifying StaxTest.props
Example 10-4:
10-element Stax results are generated by specifying StaxFilteringTest.props
20-element Stax results are generated by specifying StaxTest.props
10-element SAX results are generated by specifying
NonValidSaxFilteringTest.props
20-element SAX results are generated by specifying NonValidSaxTest.props
Example 10-5:
10-element Stax results are generated by specifying StaxFilteringTest.props
20-element Stax results are generated by specifying StaxTest.props
10-element Woodstox results are generated by specfying
WoodstoxFilteringTest.props
20-element Woodstox results are generated by specfying
WoodstoxTest.props
Woodstox tests require setting
-Djavax.xml.stream.XMLInputFactory=com.ctc.wstx.stax.WstxInputFactory
Example 10-6:
10-element Json results are generated by specifying JsonFilteringTest.props
20-element Json results are generated by specifying JsonTest.props
10-element Jackson results are generated by specifying
JacksonFilteringTest.props
20-element Jackson results are generated by specifying JacksonTest.props
Example 10-7:
SAX with no validation is generated by specifying NonValidSaxTest.props
SAX with default validation is generated by specifying ValidSaxTest.props
SAX with schema reuse is generated by specifying ValidCacheSaxTest.props
Stax with no validation is generated by specfying StaxTest.props
Stax with schema resuse is generated by specifying ValidCacheStaxTest.props
Example 10-8:
XML (Stax) parsing is generated by specifying StaxTest.props
XML document building is generated by specifying DOMTest.props
JSon parsing is generated by specifying JsonTest.props
Json document building is generated by specifying JsonBuilderTest.props
Example 10-9:
Standard DOM building is generated by specifying DOMTest.props
Filtered DOM building is generated by specifying FilteringDOMTest.props
Example 10-10:
JAXB mashalling is generated by specifying JAXBTest.props
JAXB unmarshalling is generated by specifying JAXBSerializeTest.props