Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
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