diff --git a/misc/benchcmp b/misc/benchcmp index b98ee2b2ff6..3180f57eae7 100755 --- a/misc/benchcmp +++ b/misc/benchcmp @@ -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