aboutsummaryrefslogtreecommitdiff
path: root/src/encoding/gob/timing_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/encoding/gob/timing_test.go')
-rw-r--r--src/encoding/gob/timing_test.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/encoding/gob/timing_test.go b/src/encoding/gob/timing_test.go
index a7e7e683cc..e3578992fc 100644
--- a/src/encoding/gob/timing_test.go
+++ b/src/encoding/gob/timing_test.go
@@ -364,3 +364,28 @@ func BenchmarkDecodeInterfaceSlice(b *testing.B) {
}
}
}
+
+func BenchmarkDecodeMap(b *testing.B) {
+ count := 10000
+ m := make(map[int]int, count)
+ for i := 0; i < count; i++ {
+ m[i] = i
+ }
+ var buf bytes.Buffer
+ enc := NewEncoder(&buf)
+ err := enc.Encode(m)
+ if err != nil {
+ b.Fatal(err)
+ }
+ bbuf := benchmarkBuf{data: buf.Bytes()}
+ b.ResetTimer()
+ for i := 0; i < b.N; i++ {
+ rm := make(map[int]int, 0)
+ bbuf.reset()
+ dec := NewDecoder(&bbuf)
+ err := dec.Decode(&rm)
+ if err != nil {
+ b.Fatal(i, err)
+ }
+ }
+}