X-Git-Url: http://demsky.eecs.uci.edu/git/?p=model-checker-benchmarks.git;a=blobdiff_plain;f=bench.sh;h=a778416c2ad457468c6f643c290ede7c29276a9e;hp=a42fee7978acb35fe669ffed47f26806fcc91860;hb=eb1ce023cf7eadae53e3abefddc561da3f965600;hpb=69779fd7948b7b286d28ef17ed5abd655a73c52e diff --git a/bench.sh b/bench.sh index a42fee7..a778416 100755 --- a/bench.sh +++ b/bench.sh @@ -1,17 +1,42 @@ #!/bin/bash # A (work-in-progress) test script for running our benchmarks -# Runs all tests, logging output to a directory named 'run-' +# Runs all tests, logging output to a directory named +# '${BASEDIR}/run-', where ${BASEDIR} is either the current +# directory or the first parameter to this script ## Unfinished benchmarks - do not use # queue williams-queue DATECMD="date +%Y-%m-%d-%R" DATE="`${DATECMD}`" -DIR="run-${DATE}" +BASEDIR=. + +[ $# -gt 0 ] && [ -d "$1" ] && BASEDIR="$1" && shift + +DIR="${BASEDIR}/run-${DATE}" + +TESTS="chase-lev-deque/main" +TESTS+=" spsc-queue/spsc-queue" +TESTS+=" spsc-bugfix/spsc-queue" +TESTS+=" mpmc-queue/mpmc-queue-rdwr" +TESTS+=" mpmc-queue/mpmc-rdwr-noinit" +TESTS+=" barrier/barrier" +TESTS+=" mcs-lock/mcs-lock" +TESTS+=" mpmc-queue/mpmc-rdwr-noinit" +TESTS+=" ms-queue/main" +TESTS+=" linuxrwlocks/linuxrwlocks" +TESTS+=" chase-lev-deque/main" +TESTS+=" ms-queue/main" + +MODEL_ARGS="-y -m 2 -u 3" + +#TESTS+=" dekker-fences/dekker-fences" +#TESTS+=" mpmc-queue/mpmc-2r1w" +#TESTS+=" mpmc-queue/mpmc-1r2w-noinit" +#TESTS+=" mpmc-queue/mpmc-queue-rdwr" +#TESTS+=" mpmc-queue/mpmc-queue-noinit" -TESTS="barrier/barrier mcs-lock/mcs-lock spsc-queue/spsc-queue mpmc-queue/mpmc-1r2w mpmc-queue/mpmc-2r1w mpmc-queue/mpmc-queue linuxrwlocks/linuxrwlocks" -MODEL_ARGS="-f 4 -m 2" COUNT=0 function run_test { @@ -26,18 +51,7 @@ function run_test { echo "Running test ${COUNT} (${t}): logging to ${LOG}" echo "ARGS=${ARGS}" echo "*******************************" - time ${RUN} ${t} ${ARGS} > ${LOG} 2>&1 - echo - grep -A 2 "Number of executions" ${LOG} | tail -3 - echo - echo "Test done; sleeping for a few seconds" - echo - sleep 3 - - echo "*******************************" - echo "Re-running test for timing data" - echo "*******************************" - time ${RUN} ${t} ${ARGS} > /dev/null 2>&1 + (time ${RUN} ${t} ${ARGS} 2>&1) 2>&1 | tee ${LOG} echo echo "Test done; sleeping for a few seconds" echo @@ -58,4 +72,4 @@ function run_all_tests { } mkdir ${DIR} -(git log --oneline -1; echo; run_all_tests) | tee ${DIR}/timing.log +(cd ..; git log --oneline -1; cd - > /dev/null; git log --oneline -1; echo; run_all_tests) | tee ${DIR}/timing.log