/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
#! /bin/bash
# Usage:
#	./lisp-* <iterations> [<xmlfile>|xmlgen|opcgen] <size>


if [ "$2" == "xmlgen" ]; then
    ../xmlgen/xmlgen $3 $1
    genmode=1
    summode=0
elif [ "$2" == "opcgen" ]; then
    ../xmlgen/opcgen $3 $1
    genmode=1
    summode=1
elif [ "$2" == "xmark" ]; then
    ../xmlgen/xmark $3 $1
    genmode=1
    summode=0
else
    genmode=0
    summode=0
fi

lang=`basename $0 .sh | cut -d - -f 1`
app=`basename $0 .sh | cut -d - -f 2`
if [ $lang == "lisp" ]; then
    script_runner="clisp"
    script_args="-C -q -q lisp/$app.cl"
#    script_runner="sbcl"
#    script_args="--load lisp/$app.cl --end-toplevel-options"
elif [ $lang == "perl" ]; then
    script_runner=$lang
    script_args="scripts/$app.pl"
elif [ $lang == "python" ]; then
    script_runner=$lang
    script_args="scripts/$app.py"
else
    script_runner=$lang
    script_args="scripts/$app.$lang"
fi

# First iteration is called to make initial app. interpretation
# and cache the preprocessed code (if applicable)
if [ $genmode -eq 1 ]; then
    $script_runner $script_args 0 | grep -v ^\;
else
    $script_runner $script_args 0 $2 | grep -v ^\;
fi

# Here we are measuring time needed to zero-iteration run
# This include script loading time, and etc.
START=$(date +%s.%N)
if [ $genmode -eq 1 ]; then
    $script_runner $script_args 0 | grep -v ^\;
else
    $script_runner $script_args 0 $2 | grep -v ^\;
fi
END=$(date +%s.%N)
INIT=$(echo "($END - $START)" | bc)

if [ ${INIT:0:1} == "." ]; then
    INIT="0$INIT"
fi

# Real Iteration
START=$(date +%s.%N)
if [ $genmode -eq 1 ]; then
    $script_runner $script_args $1 | grep -v ^\;
else
    $script_runner $script_args $1 $2 | grep -v ^\;
fi
END=$(date +%s.%N)
if [ $summode -eq 1 ]; then
    DIFF=$(echo "($END - $START - $INIT)*1000000" | bc)
elif [ $1 -gt 0 ]; then
    DIFF=$(echo "($END - $START - $INIT)*1000000/$1" | bc)
else 
    DIFF=0
fi

#echo $INIT
#DIFF=$(echo "($END - $START)*1000" | bc)
#echo $DIFF
#DIFF=$(echo "($END - $START - $INIT)*1000" | bc)
#echo $DIFF

printf "Execution time: %'.0f us\n" $DIFF



rm -rf ../xml.tmp/
mkdir ../xml.tmp/