/xmlbench/trunk

To get this branch, use:
bzr branch http://darksoft.org/webbzr/xmlbench/trunk
1 by Suren A. Chilingaryan
Initial import
1
Overview
2
--------
3
    This package provides basic benchmarks for main C/C++ multiplatform 
4
    parsers. Some of Java parsers also included for comparision.
5
    
6
    This version supports following benchmarks:
7
	Parsing: SAX & DOM
8
	Validating: XML Schema
9
	DOM: Creating DOM tree, Serialization
10
	Security: XML Signature, XML Encryption
11
	XSL Transformation
12
    
13
    Following XML sources supported:
14
	Any well-formed XML file ( XML, XSL, XSD )
15
	Automatic generation of random simple XML file
16
	Automatic generation of random XML OPC-DA message sequence
17
18
    Following parsers supported:
19
	libxml2 + libgdome + libxslt + xmlsec
20
	xerces + xalan
21
	expat + sablotron + cslxml + arabica
22
	RXP parser
23
	Oracle XDK for C, C++, Java
24
	IBM xml4c + Lotus XML (not supported)
25
	Sun XML Pack + Apache XML Security
26
2 by Suren A. Chilingaryan
Intel, Tango, Phobos, and RapidXML parsers; Memory benchmark scripts
27
Environment Variables
28
---------------------
29
    allow_deferring	- Allows partial DOM construction in parsing tests,
30
			see "Lazy DOM node expansion" in apache documentation:
31
			http://xerces.apache.org/xerces-j/features.html
3 by Suren A. Chilingaryan
Parsing tests for mono, vtd-xml, lisp, scripting languages
32
    allow_preprocessing	- Allows preprocessing of XML text to construct 
33
			intermediate representation (normally index) which
34
			can be used for parsing
35
    walk_tree		- For comparison of optimizing parsers which do not
36
			perform full DOM construction, this will force to 
37
			access all elements and attributes and estimate 
38
			complete speed.
2 by Suren A. Chilingaryan
Intel, Tango, Phobos, and RapidXML parsers; Memory benchmark scripts
39
40
    memory_bench	- Optimize tests for memory benchmarks
41
    skip_xml		- Do not perform actual xml parsing or construction
42
    skip_xsl		- Do not perform actual transformation
43
    skip_validate	- Do not perform actual document validation
44
    skup_security	- Skip encryption and signature related action
45
1 by Suren A. Chilingaryan
Initial import
46
47
Requirements
48
------------    
49
	Libxml2			( tested 2.4.30, 2.5.9, 2.5.11, 2.6.3, 2.6.5 )
50
	Libxslt			( tested 1.0.24 - 1.0.33, 1.1.2 )
51
	libgdome		( tested 0.7.2 - 0.7.4, 0.8.1 )
52
	xmlsec + patch		( tested 0.0.12 - 0.0.15, 1.0.2, 1.1.2, 1.2.4 )
53
	OpenSSL > 0.9.7
54
	xerces for C		( tested 2.1.0, 2.2.0, 2.3.0, 2.4.0 )
55
	xalan for C		( tested 1.4.0, 1.5.0, 1.6.0, 1.7.0 )
56
	IBM XML for C		( tested 5.0.0, 5.2.0 )
57
	RXP Parser		( tested 1.2.8 )
58
	expat			( tested 1.95.5, 1.95.6 )
59
	arabica			( tested sept02, jan04 )
60
	cslxml			( tested 020103, 020107 )
61
	sablotron		( tested 0.97.0, 1.0.1 )
62
	Oracle XDK for C	( tested 9.0.1.0.0, 9.2.0.6.0 )
63
	Oracle XDK for C++	( tested 9.0.1.0.0, 9.2.0.6.0 )
64
	Oracle XDK for Java	( tested 9.2.0.4.0, 9.2.0.6.0 )
65
	Sun J2SE 1.4.1 + XML Pack Summer or Java WebServices Developer Pack  (JAXP >= 1.2)
66
	Apache XML Security	( tested 20020422, 1.0.0 )
67
	Jakarta Log4J		( tested 1.2 )
68
	
69
70
Build
71
-----
72
    1. Install all required libraries
73
    2. Check options You want in Makefile.in
74
    3. Rip off all benchmarks coresponded to unavailable libraries from Makefile.in
75
    4. Update library paths in Makefile.in
76
    5. Select compilers in Makefile.in
77
    6. make
78
79
Oracle Notes
80
------------
81
    To have part (not all, but maximum possible) user readable error messages
82
    following enviroment virables must be set
83
    
84
	ORA_NLS33=/usr/share/xdk/nlsdata
85
	ORA_XML_MESG=/usr/share/xdk/mesg
86
87
    Oracle XDK 9.0 have rather old XML Schema implementation and don't understand 
88
    OPC Schema, other schemas also can be incompatible with it.
89
    
90
    Oracle XDK 9.2.0.6.0 have up-to-date XML Schema implementation but buggy. Can 
91
    drop core on some non-valid documents. ( May be for some of valids also )
92
93
Sablotron Notes
94
---------------
95
    All versions, I tested (0.96, 0.96.1, 0.97) failed to process long large
96
    <opcgen> generated documents. Fixed in 0.98.
97
98
Gnime XML Library
99
-----------------
100
    Gnome XML 2.6.5 library have problems with validation of xsd:QName attributes
101
102
Gnome XML Security (prior to 1.2.0)
103
------------------
104
    Gnome XML security library prior to 1.2.0 lacks support for reading public keys from X509 
105
    certificates. Because of that if you want to use xmlsec 1.1.x or earlier, you must 
106
    rebuild xmlsec with coresponded patch available in 'patches/' directory. 
107
    Versions 1.2.x don't need to be patched.
108
109
Apache XML Security for C (from CVS tree)
110
-------------------------
111
    Apache XML Security for C (CVS 07.02.2004) have problems in transcoding code, resulting in
112
    random segmenation faults. Please find temorary fix in 'patches/' directory.