blob: bbb8eaf72bbcf856951f4d372790d2ebe6a9441c (
plain)
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
|
test X$LANGBENCH = X && {
LANGBENCH=.
test -d langbench && LANGBENCH=langbench
}
test X$TCLSH = X && {
test -x gui/bin/tclsh && TCLSH=gui/bin/tclsh
test -x ../gui/bin/tclsh && TCLSH=../gui/bin/tclsh
}
test X$TCLSH = X && {
echo Please set TCLSH
exit 1
}
test X$PERL = X && PERL=perl
test X$PYTHON = X && PYTHON=python
test X$RUBY = X && RUBY=ruby
test "X$LANGS" = X && LANGS="pl py rb tcl l"
test "X$TESTS" = X && TESTS="cat grep hash loop proc fib sort wc"
export TCL_REGEXP_PCRE=1
echo "langbench version 0.6 results:"
echo -n "lang "
for i in $TESTS
do echo -n "$i "
done
echo ""
for lang in $LANGS
do
case $lang in
pl) CMD=$PERL;;
py) CMD=$PYTHON;;
rb) CMD=$RUBY;;
tcl|l) CMD=$TCLSH;;
esac
N=1
test X$RUNS = X || N=$RUNS
while (($N > 0))
do
printf "%-8s" $lang
for test in $TESTS
do
DATA=DATA
test $test = wc && DATA=SMALL
export LANG_TEST=$test
for run in 1 2 3
do time $CMD $LANGBENCH/${test}.${lang} $DATA > /dev/null
done 2>&1 |
perl -e '$min = 1000000;
while (<>) {
if (/real.*0m(.*)s/) {
$min = $1 if $1 < $min;
}
}
printf "%-8.2f", $min;'
done
printf "\n"
N=`expr $N - 1`
done
done
exit 0
|