e9e278d30fdf53543c4e0749fac8eac14bcd5d76
[Benchmarks_CSolver.git] / nqueens / bench.sh
1 #!/bin/bash
2
3 #Terminate the script if even one command fails
4 set -e
5
6
7 #Variables
8 DUMPDIR="dumps"
9 PARAMETERS="8 16"
10 TEMP="temp.out"
11 RESULT="result.csv"
12
13 #Checking the number of 
14 if [ "$#" -lt 1 ]; then
15         echo "Illegal number of argument"
16         echo "./bench.sh [NUMBER] [--csolver/--dump]"
17         exit 1
18 fi
19
20 rm -f *.csv
21
22 for PAR in $PARAMETERS; do
23         rm -f $TEMP
24         for ((i=0; i<"$1"; i++)); do
25                 echo "begin iteration: $i" >>$TEMP      
26                 if [ "$#" -eq 1 ]; then
27                         START=$(date +%s.%N)
28                         ./run.sh nqueen $PAR >> $TEMP
29                         END=$(date +%s.%N)
30                         DIFF=$(echo "$END - $START" | bc)
31                         echo "Program Execution Time: $DIFF" >>$TEMP
32                 else
33                         if [ $2 = '--dump' ]; then
34                                 START=$(date +%s.%N)
35                                 ./run.sh nqueen $PAR --dump >> $TEMP
36                                 END=$(date +%s.%N)
37                                 DIFF=$(echo "$END - $START" | bc)
38                                 echo "Program Execution Time: $DIFF" >>$TEMP
39                                 mkdir -p $DUMPDIR
40                                 mv DUMP* $DUMPDIR
41                         elif [ $2 = '--csolver' ]; then
42                                 START=$(date +%s.%N)
43                                 ./run.sh nqueen $PAR --csolver >> $TEMP
44                                 END=$(date +%s.%N)
45                                 DIFF=$(echo "$END - $START" | bc)
46                                 echo "Program Execution Time: $DIFF" >>$TEMP
47                         else
48                                 echo "Unknown command : " $2
49                                 exit 1
50                         fi
51                 fi
52         done
53         ./parse.sh $TEMP $PAR
54 done
55