blob: 39aecca989a55302227090d2ce929b0cd62f7a70 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
This example measures the performance of XML parsing in the C++/Parser
mapping. It also shows how to structure your code to achieve the maximum
performance for this operation.
The example consists of the following files:
test.xsd
XML Schema which describes the test vocabulary.
test-50k.xml
Test XML document.
gen.cxx
Program to generate a test document of desired size.
time.hxx
time.cxx
Class definition that represents time.
test-pskel.hxx
test-pskel.ixx
test-pskel.cxx
Parser skeletons generated by the XSD compiler from test.xsd.
driver.cxx
Driver for the example. It first parses the command line arguments
and reads the entire document into a memory buffer. It then creates
a SAX parser and pre-parses and caches the schema if validation is
enabled (Xerces-C++ only). Finally, it runs the performance
measurement loop which on each iteration parses the XML document
from the in-memory buffer.
To run the example on a test XML document simply execute:
$ ./driver test-50k.xml
The -v option can be used to turn on validation in the underlying XML
parser (only makes sense for Xerces-C++, off by default). The -i option
can be used to specify the number of parsing iterations (1000 by default).
For example:
$ ./driver -v -i 100 test-50k.xml
|