/xmlbench/trunk

To get this branch, use:
bzr branch http://darksoft.org/webbzr/xmlbench/trunk
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
#!/bin/bash
####################################
# Memory usage benchmark set 2 #####
####################################
# C/C++ benchmarks prebufer all xml data, Java - not
time=1

export ORA_NLS10=/opt/xml/xdk_c/nls/data
#export ORA_NLS33=/usr/share/xdk/nlsdata
export ORA_XML_MESG=/usr/share/xdk/mesg

bench() {
	local name=$1;
	local max=0; 
	local err=0;
	local mode=0;
	local cmd;
	
	cmd=`echo $name | grep "_"`;
	if [ $? -eq 0 ]; then 
	    mode=1
	    err=1
	    while [ $err -eq 1 ]; do
		cmd=`ps -C java --format rsz | head -n 2 | grep -v RSZ`;
		err=$?
	    done
	    err=0
	fi

#	sleep 1
	while [ $err -eq 0 ]; do
	    if [ $mode -eq 1 ]; then 
		cmd=`ps -C java --format rsz | head -n 2 | grep -v RSZ`;
		err=$?
	    else
		cmd=`ps -C $name --format rsz | grep -v RSZ`;
		err=$?
	    fi
	    if [ $err -eq 0 ]; then
		if [ $cmd -gt $max ]; then 
		    max=$cmd
		fi
	    fi
	done
	echo "Occupied memory: $max KB"

}

echo "******************** Parsing Benchmarks ********************"
echo
cd parse
for name in *
do
    if ( [ -x $name ] && [ -f $name ] ); then
	echo "--->Running <$name> benchmarks:"
	echo "-> opcgen 50"
	./$name `expr $time "*" 5000` opcgen 50 &> /dev/null &
	bench $name
	echo "-> xmlgen 256 KB"
	./$name `expr $time "*" 50` xmlgen 262144 &> /dev/null &
	bench $name
	echo "-> dmoz rdf file ( 12 MB )"
	./$name `expr $time "*" 3` ../xml.files/test.rdf &> /dev/null &
	bench $name
    fi
done
cd ..

echo
echo
echo "******************** DOM Tree Build Benchmarks ********************"
echo
cd create
for name in *
do
    if ( [ -x $name ] && [ -f $name ] ); then
	echo "--->Running <$name> benchmarks:"
	echo "-> 5KB file (20)"
	./$name `expr $time "*" 2500` 20 &> /dev/null &
	bench $name
	echo "-> 500KB file (2500)"
	./$name `expr $time "*" 20` 2500 &> /dev/null &
	bench $name
	echo "-> 9MB file (50000)"
	./$name `expr $time "*" 2` 50000 &> /dev/null &
	bench $name
    fi
done
cd ..

echo
echo
echo "******************** Schema Validating Benchmarks ********************"
echo
cd validate
for name in *
do
    if ( [ -x $name ] && [ -f $name ] ); then
	echo "--->Running <$name> benchmarks:"
	echo "-> xmlgen 4 KB"
	./$name `expr $time "*" 450` xmlgen 4096 &> /dev/null &
	bench $name
	echo "-> xmlgen 256 KB"
	./$name `expr $time "*" 15` xmlgen 262144 &> /dev/null &
	bench $name
	echo "-> opcgen 50 ( 3.5KB )"
	./$name `expr $time "*" 80` opcgen 50 &> /dev/null &
	bench $name
    fi
done
cd ..

echo
echo
echo "********** Security (Signature/Encryption)  Benchmarks *************"
echo
cd security
for name in *
do
    if ( [ -x $name ] && [ -f $name ] ); then
	echo "--->Running <$name> benchmarks:"
	echo "-> xmlgen 256 KB"
	./$name `expr $time "*" 8` xmlgen 262144 &> /dev/null &
	bench $name
	echo "-> opcgen 50 ( 3.5KB )"
	./$name `expr $time "*" 260` opcgen 50 &> /dev/null &
	bench $name
	echo "-> dmoz rdf file ( 12 MB ) - 4 times longer"
	./$name `expr $time "*" 2` ../xml.files/test.rdf &> /dev/null &
	bench $name
    fi
done
cd ..

echo
echo
echo "************* XSL Transformation Benchmarks ****************"
echo
cd xsl
for name in *
do
    if ( [ -x $name ] && [ -f $name ] ); then
	echo "--->Running <$name> benchmarks:"
	echo "-> xmlgen 4 KB"
	./$name `expr $time "*" 750` xmlgen 4096 &> /dev/null &
	bench $name
	echo "-> xmlgen 256 KB"
	./$name `expr $time "*" 20` xmlgen 262144 &> /dev/null &
	bench $name
	echo "-> xmlgen 4 MB"
	./$name `expr $time "*" 2` xmlgen 4096000 &> /dev/null &
	bench $name
    fi
done
cd ..