mirror of https://github.com/golang/go.git
misc/benchcmp: show memory statistics, when available
R=minux.ma, dave, extraterrestrial.neighbour, rsc CC=golang-dev https://golang.org/cl/6587069
This commit is contained in:
parent
90d959be78
commit
d5449eafb9
|
|
@ -7,8 +7,13 @@ case "$1" in
|
|||
-*)
|
||||
echo 'usage: benchcmp old.txt new.txt' >&2
|
||||
echo >&2
|
||||
echo 'Each input file should be go test -test.run=NONE -test.bench=. > [old,new].txt' >&2
|
||||
echo 'Each input file should be from:' >&2
|
||||
echo ' go test -test.run=NONE -test.bench=. > [old,new].txt' >&2
|
||||
echo >&2
|
||||
echo 'Benchcmp compares the first and last for each benchmark.' >&2
|
||||
echo >&2
|
||||
echo 'If -test.benchmem=true is added to the "go test" command' >&2
|
||||
echo 'benchcmp will also compare memory allocations.' >&2
|
||||
exit 2
|
||||
esac
|
||||
|
||||
|
|
@ -27,10 +32,21 @@ $1 ~ /Benchmark/ && $4 == "ns/op" {
|
|||
new[$1] = $3
|
||||
if($6 == "MB/s")
|
||||
newmb[$1] = $5
|
||||
|
||||
# allocs/op might be at $8 or $10 depending on if
|
||||
# SetBytes was used or not.
|
||||
if($8 == "allocs/op")
|
||||
newalloc[$1] = $7
|
||||
if($10 == "allocs/op")
|
||||
newalloc[$1] = $9
|
||||
} else {
|
||||
old[$1] = $3
|
||||
if($6 = "MB/s")
|
||||
if($6 == "MB/s")
|
||||
oldmb[$1] = $5
|
||||
if($8 == "allocs/op")
|
||||
oldalloc[$1] = $7
|
||||
if($10 == "allocs/op")
|
||||
oldalloc[$1] = $9
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -62,5 +78,21 @@ END {
|
|||
sprintf("%.2f", newmb[what]),
|
||||
sprintf("%.2f", newmb[what]/oldmb[what]))
|
||||
}
|
||||
|
||||
# print allocs
|
||||
anyalloc = 0
|
||||
for(i=0; i<n; i++) {
|
||||
what = name[i]
|
||||
if(!(what in newalloc))
|
||||
continue
|
||||
if(anyalloc++ == 0)
|
||||
printf("\n%-*s %12s %12s %7s\n", len, "benchmark", "old allocs", "new allocs", "delta")
|
||||
if(oldalloc[what] == 0)
|
||||
delta="n/a"
|
||||
else
|
||||
delta=sprintf("%.2f", 100*newalloc[what]/oldalloc[what]-100)
|
||||
printf("%-*s %12d %12d %6s%%\n", len, what,
|
||||
oldalloc[what], newalloc[what], delta)
|
||||
}
|
||||
}
|
||||
' "$@"
|
||||
|
|
|
|||
Loading…
Reference in New Issue