]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: add a map growth benchmark
authorJosh Bleecher Snyder <josharian@gmail.com>
Tue, 18 Apr 2017 13:57:43 +0000 (06:57 -0700)
committerJosh Bleecher Snyder <josharian@gmail.com>
Wed, 19 Apr 2017 13:47:21 +0000 (13:47 +0000)
Updates #19931
Updates #19992

Change-Id: Ib2d4e6b9b89a49caa443310d896dce8d6db06050
Reviewed-on: https://go-review.googlesource.com/40978
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
src/runtime/mapspeed_test.go

index ac93119d77d8b7c94d9494ab0d848f63ae168032..aec0c51f3fd7602e618aff3b69db4e5784c3f0c3 100644 (file)
@@ -5,6 +5,7 @@ package runtime_test
 
 import (
        "fmt"
+       "strconv"
        "strings"
        "testing"
 )
@@ -308,6 +309,20 @@ func BenchmarkSmallKeyMap(b *testing.B) {
        }
 }
 
+func BenchmarkMapPopulate(b *testing.B) {
+       for size := 1; size < 1000000; size *= 10 {
+               b.Run(strconv.Itoa(size), func(b *testing.B) {
+                       b.ReportAllocs()
+                       for i := 0; i < b.N; i++ {
+                               m := make(map[int]bool)
+                               for j := 0; j < size; j++ {
+                                       m[j] = true
+                               }
+                       }
+               })
+       }
+}
+
 type ComplexAlgKey struct {
        a, b, c int64
        _       int