Commit aa153879 authored by Bryan C. Mills's avatar Bryan C. Mills Committed by Bryan Mills

expvar: make BenchmarkAdd{Same,Different} comparable to 1.8

bradfitz noted in change 36717 that the new behavior was no longer
comparable with the old.  This change restores comparable behavior
for -cpu=1.

BenchmarkMapAddSame                 909           909           +0.00%
BenchmarkMapAddSame-6               1309          262           -79.98%
BenchmarkMapAddDifferent            2856          3030          +6.09%
BenchmarkMapAddDifferent-6          3803          581           -84.72%

updates #18177

Change-Id: Ifaff5a1f48be92002d86c296220313b7efdc81d6
Reviewed-on: https://go-review.googlesource.com/36723Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
parent 275e1fdb
...@@ -221,11 +221,12 @@ func BenchmarkMapSet(b *testing.B) { ...@@ -221,11 +221,12 @@ func BenchmarkMapSet(b *testing.B) {
} }
func BenchmarkMapAddSame(b *testing.B) { func BenchmarkMapAddSame(b *testing.B) {
m := new(Map).Init()
b.ResetTimer()
b.RunParallel(func(pb *testing.PB) { b.RunParallel(func(pb *testing.PB) {
for pb.Next() { for pb.Next() {
m := new(Map).Init()
m.Add("red", 1)
m.Add("red", 1)
m.Add("red", 1)
m.Add("red", 1) m.Add("red", 1)
} }
}) })
...@@ -241,19 +242,17 @@ func BenchmarkMapAddDifferent(b *testing.B) { ...@@ -241,19 +242,17 @@ func BenchmarkMapAddDifferent(b *testing.B) {
procKeys[i] = keys procKeys[i] = keys
} }
m := new(Map).Init()
b.ResetTimer() b.ResetTimer()
var n int32 var n int32
b.RunParallel(func(pb *testing.PB) { b.RunParallel(func(pb *testing.PB) {
i := int(atomic.AddInt32(&n, 1)-1) % len(procKeys) i := int(atomic.AddInt32(&n, 1)-1) % len(procKeys)
keys := procKeys[i] keys := procKeys[i]
j := 0
for pb.Next() { for pb.Next() {
m.Add(keys[j], 1) m := new(Map).Init()
if j++; j == len(keys) { for _, k := range keys {
j = 0 m.Add(k, 1)
} }
} }
}) })
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment