48 lines
813 B
Bash
48 lines
813 B
Bash
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
make
|
|
|
|
BENCHDIR=/usr/local/benchmarks
|
|
|
|
basebenchmarks=`echo *bench*`
|
|
packagebenchmarks=`(cd $BENCHDIR && echo *bench*)`
|
|
|
|
runbench() {
|
|
bench=$1
|
|
out="Results/$bench.`date +%Y%m%d.%H%M%S`"
|
|
if [ -d $bench ]
|
|
then dir=$bench
|
|
fi
|
|
if [ -d $BENCHDIR/$bench ]
|
|
then dir=$BENCHDIR/$bench
|
|
fi
|
|
clear
|
|
echo "Running $dir."
|
|
echo "Saving output to $out."
|
|
echo ""
|
|
( cd $dir && sh run.sh 2>&1 ) | tee $out
|
|
}
|
|
|
|
clear
|
|
n=1
|
|
for b in $basebenchmarks $packagebenchmarks
|
|
do echo "$n. $b"
|
|
eval "n$n=$b"
|
|
n=`expr $n + 1`
|
|
done
|
|
echo
|
|
echo -n "Run which benchmark or 'all'? "
|
|
read bench
|
|
eval var=\$n$bench
|
|
if [ "$bench" = all ]
|
|
then for b in $basebenchmarks $packagebenchmarks
|
|
do runbench $b
|
|
done
|
|
else if [ -d "$var" -o -d "$BENCHDIR/$var" ]
|
|
then runbench $var
|
|
else echo "Unknown benchmark $var."
|
|
exit 1
|
|
fi
|
|
fi
|