From d6323c8c0f029d4ce3324fcaa635f08139196e0d Mon Sep 17 00:00:00 2001 From: Yilun Chong Date: Mon, 19 Mar 2018 16:43:27 -0700 Subject: Change to deal all messages in one loop --- benchmarks/go_benchmark_test.go | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) (limited to 'benchmarks') diff --git a/benchmarks/go_benchmark_test.go b/benchmarks/go_benchmark_test.go index c8a70280..e747465e 100644 --- a/benchmarks/go_benchmark_test.go +++ b/benchmarks/go_benchmark_test.go @@ -78,44 +78,45 @@ func init() { func Benchmark(b *testing.B) { for _, ds := range datasets { b.Run(ds.name, func(b *testing.B) { - counter := 0 - count := len(ds.marshaled) b.Run("Unmarshal", func(b *testing.B) { for i := 0; i < b.N; i++ { - payload := ds.marshaled[counter%count] - out := ds.newMessage() - if err := proto.Unmarshal(payload, out); err != nil { - b.Fatalf("can't unmarshal message %d %v", counter%count, err) + for j, payload := range ds.marshaled { + out := ds.newMessage() + if err := proto.Unmarshal(payload, out); err != nil { + b.Fatalf("can't unmarshal message %d %v", j, err) + } } - counter++ } }) b.Run("Marshal", func(b *testing.B) { for i := 0; i < b.N; i++ { - m := ds.unmarshaled[counter%count] - if _, err := proto.Marshal(m); err != nil { - b.Fatalf("can't marshal message %d %+v: %v", counter%count, m, err) + for j, m := range ds.unmarshaled { + if _, err := proto.Marshal(m); err != nil { + b.Fatalf("can't marshal message %d %+v: %v", j, m, err) + } } - counter++ } }) b.Run("Size", func(b *testing.B) { for i := 0; i < b.N; i++ { - proto.Size(ds.unmarshaled[counter%count]) - counter++ + for _, m := range ds.unmarshaled { + proto.Size(m) + } } }) b.Run("Clone", func(b *testing.B) { for i := 0; i < b.N; i++ { - proto.Clone(ds.unmarshaled[counter%count]) - counter++ + for _, m := range ds.unmarshaled { + proto.Clone(m) + } } }) b.Run("Merge", func(b *testing.B) { for i := 0; i < b.N; i++ { - out := ds.newMessage() - proto.Merge(out, ds.unmarshaled[counter%count]) - counter++ + for _, m := range ds.unmarshaled { + out := ds.newMessage() + proto.Merge(out, m) + } } }) }) -- cgit v1.2.3