xref: /aosp_15_r20/external/golang-protobuf/encoding/protojson/bench_test.go (revision 1c12ee1efe575feb122dbf939ff15148a3b3e8f2)
1*1c12ee1eSDan Willemsen// Copyright 2019 The Go Authors. All rights reserved.
2*1c12ee1eSDan Willemsen// Use of this source code is governed by a BSD-style
3*1c12ee1eSDan Willemsen// license that can be found in the LICENSE file.
4*1c12ee1eSDan Willemsen
5*1c12ee1eSDan Willemsenpackage protojson_test
6*1c12ee1eSDan Willemsen
7*1c12ee1eSDan Willemsenimport (
8*1c12ee1eSDan Willemsen	"testing"
9*1c12ee1eSDan Willemsen
10*1c12ee1eSDan Willemsen	"google.golang.org/protobuf/encoding/protojson"
11*1c12ee1eSDan Willemsen
12*1c12ee1eSDan Willemsen	"google.golang.org/protobuf/types/known/durationpb"
13*1c12ee1eSDan Willemsen)
14*1c12ee1eSDan Willemsen
15*1c12ee1eSDan Willemsenfunc BenchmarkUnmarshal_Duration(b *testing.B) {
16*1c12ee1eSDan Willemsen	input := []byte(`"-123456789.123456789s"`)
17*1c12ee1eSDan Willemsen
18*1c12ee1eSDan Willemsen	for i := 0; i < b.N; i++ {
19*1c12ee1eSDan Willemsen		err := protojson.Unmarshal(input, &durationpb.Duration{})
20*1c12ee1eSDan Willemsen		if err != nil {
21*1c12ee1eSDan Willemsen			b.Fatal(err)
22*1c12ee1eSDan Willemsen		}
23*1c12ee1eSDan Willemsen	}
24*1c12ee1eSDan Willemsen}
25