From 4a777539bedc3b87e6c6e52170570b716cb08de2 Mon Sep 17 00:00:00 2001 From: wdvxdr Date: Sun, 7 Nov 2021 13:28:17 +0800 Subject: [PATCH] test: add benchmark for (*encoder).uvarint --- binary/protobuf_test.go | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 binary/protobuf_test.go diff --git a/binary/protobuf_test.go b/binary/protobuf_test.go new file mode 100644 index 00000000..d919e707 --- /dev/null +++ b/binary/protobuf_test.go @@ -0,0 +1,26 @@ +package binary + +import ( + "math" + "testing" +) + +func benchEncoderUvarint(b *testing.B, v uint64) { + e := encoder{} + for i := 0; i < b.N; i++ { + e.Reset() + e.uvarint(v) + } +} + +func Benchmark_encoder_uvarint(b *testing.B) { + b.Run("short", func(b *testing.B) { + benchEncoderUvarint(b, uint64(1)) + }) + b.Run("medium", func(b *testing.B) { + benchEncoderUvarint(b, uint64(114514)) + }) + b.Run("large", func(b *testing.B) { + benchEncoderUvarint(b, math.MaxUint64) + }) +}