Skip to content

Commit 4ce7a56

Browse files
committed
Add stat-benchmark-cdeque.sh to print simple statistics about log files produced by benchmark-cdeque.sh
1 parent 82b924f commit 4ce7a56

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed
+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
printf '%-25s\t%-9s\t%-9s\t%-9s\t%-9s\t%-9s\t%-9s\t%s\n' \
2+
t-n-b-d-s \
3+
mean stddev maxdev \
4+
thief_avg thief_avgerr90 \
5+
steal_avg steal_avgok
6+
for log in test-cdeque*.log; do
7+
label=${log%.log}
8+
label=$(echo $label |
9+
sed -e 's/^test-cdeque\./native./' -e 's/^test-cdeque-//' |
10+
tr . -)
11+
mean=$(awk '{x+=$1;++n} END{print x/n}' $log)
12+
stddev=$(awk -v m=$mean '{x+=($1-m)^2;++n} END{print sqrt(x/n)}' $log)
13+
maxdev=$(awk -v m=$mean '{x=($1-m)^2} x>u{u=x} END{print sqrt(u)}' $log)
14+
thief_avg=$(awk '{for(i=1;i<=NF-5;++i){x+=$i;++n}} END{print x/n}' $log)
15+
thief_avgerr90=$(awk \
16+
'{for(i=1;i<=NF-5;++i){x+=$i/(0.9*$1);++n}} END{print x/n}' \
17+
$log)
18+
steal_avg=$(awk '{x+=$(NF-1)==0?0:$NF/$(NF-1);++n} END{print x/n}' $log)
19+
steal_avgok=$(awk '{x+=$NF==0?0:$(NF-4)/$NF;++n} END{print x/n}' $log)
20+
printf '%-25s\t%-9g\t%-9g\t%-9g\t%-9g\t%-9g\t%-9g\t%g\n' \
21+
$label \
22+
$mean $stddev $maxdev \
23+
$thief_avg $thief_avgerr90 \
24+
$steal_avg $steal_avgok
25+
done | sort -t - -k 1,1 -k 2n -k 3n -k 4n -k 5n

0 commit comments

Comments
 (0)