Browse Benchmarks
Benchmark ::CHILD-FIRST-ATTRIB : Simple child axis navigation, then attribute step (submitted at 2006-06-05T18:00:00) |
| Authors: |
Ioana Manolescu (Gemo Group, INRIA Futurs, France) Philippe Michiels (Universiteit Antwerpen, Belgium) Cédric Miachon (BD, LRI, Université Paris Sud 11, France) |
| Categories: |
XPath,Query Scalability
|
| Target: |
All systems |
| Engine type: |
persistent-storage main-memory streaming |
| Measure: |
The measure targets the total execution time of a simple XPath query consisting of several child navigation steps, followed by a single attribute step.
|
Result unit: |
Milliseconds |
| Query: |
|
The query used in this micro-benchmark navigates downward from the root, performing n successive child navigation steps (where n is to be varied), followed by a single attribute step.
For every integer n, the corresponding query, named CHILD-FIRST-ATTRIB(n), is:
(/t1/t2/.../tn)[1]/@id
The purpose of the final attribute step is to test the performance of a query returning one node, and whose naive XPath evaluation strategy would lead to the traversal of exponentially many nodes as n increases. The results of this micro-benchmark may be compared with the results of micro-benchmark CHILD-ATTRIB, whose queries must return all attribute nodes at a given level. CHILD-FIRST-ATTRIB performance is likely to be very close to CHILD-ATTRIB performance, if the system does not implement any particular optimization for the [1] predicate; otherwise, CHILD-FIRST-ATTRIB performance may be significantly better than CHILD-ATTRIB.
|
|
Syntax: |
|
|
Language: |
XPath 1.0 |
|
Generator: |
generateQ13.java |
| Document: |
The document exponential2.xml is a tree such that:
- the root is labeled t1
- the root has 2 children, labeled t2
-
each t2 child of the root has two children, labeled t3...
More generally, all nodes but the leaves have two children, all nodes at level i are labeled ti, and the depth of the document is 19 (all nodes at depth 19 are leaves).
The document's size is about 11 MB.
The document is generated using the MemBeR document generator with the following configuration file:
|
|
Generator: |
MemBeR.Generator |
|
Configuration file: |
Q11_exp_MemBeR_Generator_config.xml |
| Parameters: |
Parameter
n:
This is the number of consecutive child navigation steps in the query.
|
|
This parameter characterizes the: |
query |
|
Unit: |
None. |
|
Value Range: |
[
1
..
19
]
|
|
Distribution: |
uniform |
|
Scale: |
ordinal |
|
|
|
Parameter
docsize: This is the size of the document. |
|
This parameter characterizes the: |
doc |
|
Unit: |
Byte |
|
Values: |
11946474 |
|
Distribution: |
uniform |
|
Scale: |
ordinal |
|
|
|
|
| Methodology: |
|
Running scenario: queryScale
|
|
Test the influence of the number of child steps on the total execution time. All other parameters are fixed.
|
| Parameter instantiation: |
|
Name |
Value(s) |
|
n |
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
15
,
16
,
17
,
18
,
19 |
|
|