mirror of
https://github.com/golang/go
synced 2024-11-21 21:54:40 -07:00
misc/benchcmp: show byte allocation statistics
R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6971048
This commit is contained in:
parent
4b7c2dfcea
commit
e09f1e7a46
@ -35,18 +35,28 @@ $1 ~ /Benchmark/ && $4 == "ns/op" {
|
||||
|
||||
# allocs/op might be at $8 or $10 depending on if
|
||||
# SetBytes was used or not.
|
||||
if($8 == "allocs/op")
|
||||
# B/op might be at $6 or $8, it should be immediately
|
||||
# followed by allocs/op
|
||||
if($8 == "allocs/op") {
|
||||
newbytes[$1] = $5
|
||||
newalloc[$1] = $7
|
||||
if($10 == "allocs/op")
|
||||
}
|
||||
if($10 == "allocs/op") {
|
||||
newbytes[$1] = $7
|
||||
newalloc[$1] = $9
|
||||
}
|
||||
} else {
|
||||
old[$1] = $3
|
||||
if($6 == "MB/s")
|
||||
oldmb[$1] = $5
|
||||
if($8 == "allocs/op")
|
||||
if($8 == "allocs/op") {
|
||||
oldbytes[$1] = $5
|
||||
oldalloc[$1] = $7
|
||||
if($10 == "allocs/op")
|
||||
}
|
||||
if($10 == "allocs/op") {
|
||||
oldbytes[$1] = $7
|
||||
oldalloc[$1] = $9
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -94,5 +104,21 @@ END {
|
||||
printf("%-*s %12d %12d %6s%%\n", len, what,
|
||||
oldalloc[what], newalloc[what], delta)
|
||||
}
|
||||
|
||||
# print alloc bytes
|
||||
anybytes = 0
|
||||
for(i=0; i<n; i++) {
|
||||
what = name[i]
|
||||
if(!(what in newbytes))
|
||||
continue
|
||||
if(anybytes++ == 0)
|
||||
printf("\n%-*s %12s %12s %7s\n", len, "benchmark", "old bytes", "new bytes", "delta")
|
||||
if(oldbytes[what] == 0)
|
||||
delta="n/a"
|
||||
else
|
||||
delta=sprintf("%.2f", 100*newbytes[what]/oldbytes[what]-100)
|
||||
printf("%-*s %12d %12d %6s%%\n", len, what,
|
||||
oldbytes[what], newbytes[what], delta)
|
||||
}
|
||||
}
|
||||
' "$@"
|
||||
|
Loading…
Reference in New Issue
Block a user