Browse Benchmarks
Benchmark ::FLWR-COPY-LEVEL-ATTRIB : Descendant axis navigation (submitted at 2006-06-26T18: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: |
XQuery,Query Scalability
|
| Target: |
All systems |
| Engine type: |
persistent-storage main-memory streaming |
| Measure: |
The measure targets the total execution time of an XQuery query returning attribute values from XML elements found at increasing depth in the document.
|
Result unit: |
Milliseconds |
| Query: |
|
The query used in this micro-benchmark retrieves the value of @id attributes in all XML elements found at a given depth under the document root. The query concatenates all these attribute values inside a single returned (constructed) XML element.
For every integer n, the corresponding query, named FLWR-COPY-LEVEL-ATTRIB(n), is:
for $x in /t1/t2
return <res>{ for $y in $x/*/*/.../*
return fn:data($y/@id) }
</res>
The purpose of this query is to test the performance of increasingly deep navigation performed in a return clause. Query FLWR-COPY-LEVEL-ATTRIB(n) navigates n levels under the /t1/t2 elements in the document, and retrieves the values of all @id attribute nodes found at the target level. All values are concatenated in a single text node in a <res> element.
In the target document, the size of the returned result is stable when n varies from n=1 to n=9 . Therefore, the variation in the query execution is expected to be due to the navigation effort only.
|
|
Syntax: |
|
|
Language: |
XQuery 1.0 |
|
Generator: |
generateQ21.java |
| Document: |
The document flat2.xml is a tree such that:
- the root is labeled t1
- the root has 3268 children, labeled t2
- each t2 child of the root (level 2 node) has 10 children, labeled with equal probability t3, t4, t5, ..., t12
- each child of a t2 element (level 3 node) has 1 child, labeled with equal probability t3, t4, t5, ..., t12
- ...
- each level 12 node has 1 child, labeled with equal probability t3, t4, t5, ..., t12
- each evel 13 element is a leaf.
More generally: the root has fanout 3268, the root's children have fanout 10 (bringing the number of nodes at level 2 to 32680), all elements whose level is between 2 and 12 have exactly one child, and the elements at level 13 have no children. (The document can be seen as a rooted collection of 32680 chains of parent-child elements, 10 deep.) At levels 3 to 13, node labels are uniformly distributed among t3, t4,..., t13.
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: |
Q21_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: |
11009952 |
|
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 |
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9 |
|
|