mirror of
https://github.com/golang/go
synced 2024-11-19 14:24:47 -07:00
runtime: add a map growth benchmark
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>
This commit is contained in:
parent
17d497feaa
commit
2abd91e265
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user