Path: blob/dev/pkg/protocols/common/generators/maps_bench_test.go
2843 views
package generators12import (3"fmt"4"testing"5)67func BenchmarkMergeMaps(b *testing.B) {8map1 := map[string]interface{}{9"key1": "value1",10"key2": "value2",11"key3": "value3",12"key4": "value4",13"key5": "value5",14}15map2 := map[string]interface{}{16"key6": "value6",17"key7": "value7",18"key8": "value8",19"key9": "value9",20"key10": "value10",21}22map3 := map[string]interface{}{23"key11": "value11",24"key12": "value12",25"key13": "value13",26}2728for i := 1; i <= 3; i++ {29b.Run(fmt.Sprintf("%d-maps", i), func(b *testing.B) {30b.ReportAllocs()31for b.Loop() {32switch i {33case 1:34_ = MergeMaps(map1)35case 2:36_ = MergeMaps(map1, map2)37case 3:38_ = MergeMaps(map1, map2, map3)39}40}41})42}43}4445func BenchmarkCopyMap(b *testing.B) {46map1 := map[string]interface{}{47"key1": "value1",48"key2": "value2",49"key3": "value3",50"key4": "value4",51"key5": "value5",52}5354for i := 1; i <= 1; i++ {55b.Run(fmt.Sprintf("%d-maps", i), func(b *testing.B) {56b.ReportAllocs()57for b.Loop() {58switch i {59case 1:60_ = CopyMap(map1)61}62}63})64}65}6667func BenchmarkMergeMapsInto(b *testing.B) {68map1 := map[string]interface{}{69"key1": "value1",70"key2": "value2",71"key3": "value3",72"key4": "value4",73"key5": "value5",74}75map2 := map[string]interface{}{76"key6": "value6",77"key7": "value7",78"key8": "value8",79"key9": "value9",80"key10": "value10",81}82map3 := map[string]interface{}{83"key11": "value11",84"key12": "value12",85"key13": "value13",86}87map4 := map[string]interface{}{88"key14": "value14",89"key15": "value15",90"key16": "value16",91}9293for i := 1; i <= 3; i++ {94b.Run(fmt.Sprintf("%d-maps", i), func(b *testing.B) {95b.ReportAllocs()96for b.Loop() {97switch i {98case 1:99MergeMapsInto(map1, map2)100case 2:101MergeMapsInto(map1, map2, map3)102case 3:103MergeMapsInto(map1, map2, map3, map4)104}105}106})107}108}109110111