195e72d25e2541877078223073d17223d200ea92
[model-checker-benchmarks.git] / bench.sh
1 #!/bin/bash
2
3 # A (work-in-progress) test script for running our benchmarks
4 # Runs all tests, with timing information
5
6 ## Unfinished benchmarks - do not use
7 # queue williams-queue
8
9 DATECMD="date +%Y-%m-%d-%R"
10 DATE="`${DATECMD}`"
11
12 TESTS="chase-lev-deque/main"
13 TESTS+=" spsc-queue/spsc-queue"
14 TESTS+=" spsc-bugfix/spsc-queue"
15 TESTS+=" barrier/barrier"
16 TESTS+=" dekker-fences/dekker-fences"
17 TESTS+=" mcs-lock/mcs-lock"
18 TESTS+=" mpmc-queue/mpmc-queue-rdwr"
19 TESTS+=" ms-queue/main"
20 TESTS+=" linuxrwlocks/linuxrwlocks"
21
22 MODEL_ARGS="-y -m 2 -u 3"
23
24 #TESTS+=" mpmc-queue/mpmc-2r1w"
25 #TESTS+=" mpmc-queue/mpmc-1r2w-noinit"
26 #TESTS+=" mpmc-queue/mpmc-queue-rdwr"
27 #TESTS+=" mpmc-queue/mpmc-queue-noinit"
28
29 COUNT=0
30
31 function run_test {
32         t=$1
33         shift
34         ARGS="$@"
35         RUN="./run.sh"
36
37         echo "-----------------------------------------------"
38         echo "*******************************"
39         echo "Running test ${COUNT} (${t})"
40         echo "ARGS=${ARGS}"
41         echo "*******************************"
42         (time ${RUN} ${t} ${ARGS} 2>&1) 2>&1
43         echo
44         echo "Test done; sleeping for a few seconds"
45         echo
46
47         let COUNT++
48 }
49
50 function run_all_tests {
51         echo ${DATE}
52
53         for t in ${TESTS}
54         do
55                 run_test ${t} ${MODEL_ARGS}
56         done
57         #run_test mpmc-queue/mpmc-queue ${MODEL_ARGS} -- -r 2 -w 1
58         #run_test mpmc-queue/mpmc-queue ${MODEL_ARGS} -- -r 1 -w 2
59         #run_test mpmc-queue/mpmc-queue ${MODEL_ARGS} -- -r 2 -w 2
60 }
61
62 cd ..
63 git log --oneline -1
64 cd - > /dev/null
65 git log --oneline -1
66 echo
67 run_all_tests