diff options
author | Yilun Chong <yilunchong@google.com> | 2018-03-19 16:43:27 -0700 |
---|---|---|
committer | Yilun Chong <yilunchong@google.com> | 2018-03-19 16:43:27 -0700 |
commit | d6323c8c0f029d4ce3324fcaa635f08139196e0d (patch) | |
tree | 3af174963f09baa98f2f59aebce3a9b9abcfdb31 /benchmarks | |
parent | 501c13f65a0093b61d95e16e8941cd3b456c41a0 (diff) | |
download | protobuf-d6323c8c0f029d4ce3324fcaa635f08139196e0d.tar.gz protobuf-d6323c8c0f029d4ce3324fcaa635f08139196e0d.tar.bz2 protobuf-d6323c8c0f029d4ce3324fcaa635f08139196e0d.zip |
Change to deal all messages in one loop
Diffstat (limited to 'benchmarks')
-rw-r--r-- | benchmarks/go_benchmark_test.go | 37 |
1 files changed, 19 insertions, 18 deletions
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) + } } }) }) |