annotate paper/quicksort_for_ppc/benchmark.sh @ 10:3d9addf62d0b

organized repository.
author kent <kent@cr.ie.u-ryukyu.ac.jp>
date Tue, 16 Feb 2010 14:35:36 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 #!/usr/bin/env zsh
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 time=/usr/bin/time
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 QS=./quicksort_c
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 size=10000000
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 seed=123456789
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 num=10
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 max=0
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 min=99999
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 count=0
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 amount=0
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 echo "size of array = $size"
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 while [[ $count -lt $num ]]; do
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 usertime=$( $time -p $QS -n $size -s $seed 2>&1 >& - |grep '^user'|tr -s " "|cut -f2 -d" ")
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 #usertime=$(printf "%d" $usertime)
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 echo $usertime
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 amount=$(($usertime+$amount))
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 if [[ $usertime -lt $min ]]; then
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 min=$usertime
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 fi
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 if [[ $usertime -gt $max ]]; then
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 max=$usertime
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 fi
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 #seed=$seed[1,-2]
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 seed=$(($seed+10))
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 count=$(($count+1))
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 done
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 echo "amount time = $amount"
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 echo "maxtime = $max"
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 echo "mintime = $min"
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 amount=$(($amount - $max - $min))
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 echo "amount time - mintime - maxtime = $amount"
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 count=$(($count-2))
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 echo "count = $count"
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 averagetime=$(($amount/($count)))
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 echo "average time = $averagetime"
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43
3d9addf62d0b organized repository.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44