41 lines
678 B
Plaintext
41 lines
678 B
Plaintext
awk '
|
|
BEGIN {
|
|
OFS = "\t"
|
|
print " new old new/old"
|
|
print ""
|
|
}
|
|
/differ/
|
|
/:$/ { name = $1; cnt = 0; next }
|
|
$1 ~ /user|sys/ {
|
|
n = split($2, x, "m") # 0m0.23s
|
|
if (n == 1)
|
|
time[cnt] += x[1]
|
|
else
|
|
time[cnt] += 60 * x[1] + x[2]
|
|
}
|
|
$1 ~ /sys/ {
|
|
cnt++
|
|
if (cnt == 2)
|
|
dump()
|
|
}
|
|
function dump() {
|
|
old = time[1]
|
|
new = time[0]
|
|
if (old > 0) {
|
|
printf "%8.2f %8.2f %8.3f %s\n", new, old, new/old, name
|
|
rat += new/old
|
|
}
|
|
nrat++
|
|
totnew += new
|
|
totold += old
|
|
time[0] = time[1] = cnt = 0
|
|
}
|
|
END {
|
|
print ""
|
|
printf "%8.2f %8.2f\n\n", totnew, totold
|
|
printf "avg new/old = %.3f\n", rat/nrat
|
|
printf "total new/old = %.3f\n", totnew/totold
|
|
print nrat " tests"
|
|
}
|
|
' $*
|