-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtimescomp.sh
More file actions
executable file
·53 lines (48 loc) · 852 Bytes
/
Copy pathtimescomp.sh
File metadata and controls
executable file
·53 lines (48 loc) · 852 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/sh
run()
{
k=1
while [ "$times" -ge "$k" ]
do
printf "\n# %d %s\n\n" "$k" "$1"
time "$1"
k=$(expr "$k" + 1 )
done
}
analysis()
{
grep '^real' "$1" \
| cut -f2 | sed 's/[ms]/ /g' \
| cat -n \
| sort -k2n,2 -k3n,3 \
| cat -n \
| awk 'BEGIN {print;printf "%3s %3s\n","sor","seq"} \
{printf "%3s %3s %2d m %6.3f s\n",$1,$2,$3,$4} \
{sum_mi=sum_mi+$3;sum_se=sum_se+$4} \
END {sum_mi=sum_mi/NR;sum_se=sum_se/NR;printf "\naverage : %2d m %6.3f s\n",sum_mi,sum_se}'
}
while getopts a:r: op
do
case $op in
r) times=$OPTARG;;
a) subfix=$OPTARG;;
esac
done
if [ -z "$times" ]
then
analysis tmp1."$subfix"
analysis tmp2."$subfix"
rm cmd1."$subfix" tmp1."$subfix" cmd2."$subfix" tmp2."$subfix"
else
read cmd1
read cmd2
echo $cmd1 >cmd1.$$
echo $cmd2 >cmd2.$$
run cmd1.$$ 2>>tmp1.$$ &
run cmd2.$$ 2>>tmp2.$$ &
while true
do
sleep 10
jobs
done
fi