all: remove APIv1 dependency
Remove support for running benchmarks with APIv1.
The comparisons have served their purpose, and this removes the last
dependency on the github.com/golang/protobuf module.
Fixes golang/protobuf#962.
Change-Id: I55758e19451fcd16ab1a5d66244eb8214ceb9fa7
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/214040
Reviewed-by: Joe Tsai <joetsai@google.com>
diff --git a/benchmarks/bench_test.go b/benchmarks/bench_test.go
index 25d4b30..9335dbd 100644
--- a/benchmarks/bench_test.go
+++ b/benchmarks/bench_test.go
@@ -5,7 +5,6 @@
package bench_test
import (
- "bytes"
"flag"
"fmt"
"io/ioutil"
@@ -16,8 +15,6 @@
"testing"
"time"
- "github.com/golang/protobuf/jsonpb"
- protoV1 "github.com/golang/protobuf/proto"
"google.golang.org/protobuf/encoding/protojson"
"google.golang.org/protobuf/encoding/prototext"
"google.golang.org/protobuf/proto"
@@ -32,16 +29,12 @@
_ "google.golang.org/protobuf/internal/testprotos/benchmarks/datasets/google_message4"
)
-var (
- benchV1 = flag.Bool("v1", false, "benchmark the v1 implementation")
-)
-
func BenchmarkWire(b *testing.B) {
bench(b, "Unmarshal", func(ds dataset, pb *testing.PB) {
for pb.Next() {
for _, p := range ds.wire {
m := ds.messageType.New().Interface()
- if err := Unmarshal(p, m); err != nil {
+ if err := proto.Unmarshal(p, m); err != nil {
b.Fatal(err)
}
}
@@ -50,7 +43,7 @@
bench(b, "Marshal", func(ds dataset, pb *testing.PB) {
for pb.Next() {
for _, m := range ds.messages {
- if _, err := Marshal(m); err != nil {
+ if _, err := proto.Marshal(m); err != nil {
b.Fatal(err)
}
}
@@ -59,7 +52,7 @@
bench(b, "Size", func(ds dataset, pb *testing.PB) {
for pb.Next() {
for _, m := range ds.messages {
- Size(m)
+ proto.Size(m)
}
}
})
@@ -70,7 +63,7 @@
for pb.Next() {
for _, p := range ds.text {
m := ds.messageType.New().Interface()
- if err := UnmarshalText(p, m); err != nil {
+ if err := prototext.Unmarshal(p, m); err != nil {
b.Fatal(err)
}
}
@@ -79,7 +72,7 @@
bench(b, "Marshal", func(ds dataset, pb *testing.PB) {
for pb.Next() {
for _, m := range ds.messages {
- if _, err := MarshalText(m); err != nil {
+ if _, err := prototext.Marshal(m); err != nil {
b.Fatal(err)
}
}
@@ -92,7 +85,7 @@
for pb.Next() {
for _, p := range ds.json {
m := ds.messageType.New().Interface()
- if err := UnmarshalJSON(p, m); err != nil {
+ if err := protojson.Unmarshal(p, m); err != nil {
b.Fatal(err)
}
}
@@ -101,7 +94,7 @@
bench(b, "Marshal", func(ds dataset, pb *testing.PB) {
for pb.Next() {
for _, m := range ds.messages {
- if _, err := MarshalJSON(m); err != nil {
+ if _, err := protojson.Marshal(m); err != nil {
b.Fatal(err)
}
}
@@ -211,57 +204,3 @@
})
os.Exit(m.Run())
}
-
-func Unmarshal(b []byte, m proto.Message) error {
- if *benchV1 {
- return protoV1.Unmarshal(b, m.(protoV1.Message))
- }
- return proto.Unmarshal(b, m)
-}
-
-func Marshal(m proto.Message) ([]byte, error) {
- if *benchV1 {
- return protoV1.Marshal(m.(protoV1.Message))
- }
- return proto.Marshal(m)
-}
-
-func Size(m proto.Message) int {
- if *benchV1 {
- return protoV1.Size(m.(protoV1.Message))
- }
- return proto.Size(m)
-}
-
-func UnmarshalText(b []byte, m proto.Message) error {
- if *benchV1 {
- // Extra string conversion makes this not quite right.
- return protoV1.UnmarshalText(string(b), m.(protoV1.Message))
- }
- return prototext.Unmarshal(b, m)
-}
-
-func MarshalText(m proto.Message) ([]byte, error) {
- if *benchV1 {
- var b bytes.Buffer
- err := protoV1.MarshalText(&b, m.(protoV1.Message))
- return b.Bytes(), err
- }
- return prototext.Marshal(m)
-}
-
-func UnmarshalJSON(b []byte, m proto.Message) error {
- if *benchV1 {
- return jsonpb.Unmarshal(bytes.NewBuffer(b), m.(protoV1.Message))
- }
- return protojson.Unmarshal(b, m)
-}
-
-func MarshalJSON(m proto.Message) ([]byte, error) {
- if *benchV1 {
- var b bytes.Buffer
- err := (&jsonpb.Marshaler{}).Marshal(&b, m.(protoV1.Message))
- return b.Bytes(), err
- }
- return protojson.Marshal(m)
-}