X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=tests%2Fcomparison_tests%2Fmonet.sh;fp=tests%2Fcomparison_tests%2Fmonet.sh;h=b662aa23441e99b07cb059ff7b6096aa3eff75fd;hb=5f371ee50291faed9ae0514dfd4ba2aec87faea1;hp=0000000000000000000000000000000000000000;hpb=8907c4fc162a27e946d6b574102dc3c97075c4e1;p=SXSI%2Fxpathcomp.git diff --git a/tests/comparison_tests/monet.sh b/tests/comparison_tests/monet.sh new file mode 100755 index 0000000..b662aa2 --- /dev/null +++ b/tests/comparison_tests/monet.sh @@ -0,0 +1,91 @@ +#!/bin/bash +source utils.sh +#Mserver and killall must be in /etc/sudoers +function kmonet() { + sudo killall -TERM Mserver + sleep 2 + sudo killall -9 Mserver +} +trap kmonet INT TERM + +function do_monet(){ + while pidof Mserver >/dev/null + do + + sudo killall -TERM Mserver + sleep 3 + done + + while ! pidof Mserver >/dev/null + do + sudo /usr/local/bin/alarm 600 22000000 Mserver --dbinit="module(pathfinder);" >/dev/null 2>&1 & + sleep 3 + done + sync + + query="$1" + doc="$2" + repeat="$3" + TIME_MAT="" + TIME_COUNT="" + TIME_PRINT="" + NUM_RESULTS="" + for i in `seq 1 "$repeat"` + do + { + read foo + read foo + read num + read foo + read foo + read tquery + read foo + read foo + } < <(echo "fn:count(fn:doc(\"$doc\")$query) +" | mclient -t --interactive 2>&1 | grep -o '[0-9.]*' ) + + TIME_COUNT="$TIME_COUNT +$tquery" + + NUM_RESULTS="$num" + done + + if [ -z "$4" ] + then + for i in `seq 1 "$repeat"` + do + { + read foo + read foo + read tquery + read tprint + read foo + } < <(echo "\>/dev/null +fn:doc(\"$doc\")$query +" | mclient -t --interactive 2>&1 | grep -o '[0-9.]*' ) + + TIME_MAT="$TIME_MAT +$tquery" + + TIME_PRINT="$TIME_PRINT +$tprint" + + done + else + TIME_MAT="999999" + TIME_PRINT="0" + fi + while pidof Mserver >/dev/null + do + + sudo killall -TERM Mserver + sleep 3 + done + + echo "$TIME_COUNT" | tail -n +2 | average + echo "$TIME_MAT" | tail -n +2 | average + echo "$TIME_PRINT" | tail -n +2 | average + echo $NUM_RESULTS +} + +do_monet "$@"