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"
|
||
|
}
|
||
|
' $*
|