blob: 4db8af951cea4d5d2f0b4b7fb636da9eb51b2322 [file] [log] [blame]
Herbie Onga3421952019-03-21 18:12:26 -07001// Copyright 2019 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5package json_test
6
7import (
8 "testing"
9
10 "github.com/golang/protobuf/v2/internal/encoding/json"
11)
12
13func BenchmarkFloat(b *testing.B) {
14 input := []byte("1.797693134862315708145274237317043567981e+308")
15 for i := 0; i < b.N; i++ {
16 dec := json.NewDecoder(input)
17 val, err := dec.Read()
18 if err != nil {
19 b.Fatal(err)
20 }
21 _, err = val.Float(64)
22 if err != nil {
23 b.Fatal(err)
24 }
25 }
26}
27
28func BenchmarkInt(b *testing.B) {
29 input := []byte("922337203.6854775807e+10")
30 for i := 0; i < b.N; i++ {
31 dec := json.NewDecoder(input)
32 val, err := dec.Read()
33 if err != nil {
34 b.Fatal(err)
35 }
36 _, err = val.Int(64)
37 if err != nil {
38 b.Fatal(err)
39 }
40 }
41}