Fix codec fallback and generate type imports
[govpp.git] / codec / bench_test.go
1 //  Copyright (c) 2020 Cisco and/or its affiliates.
2 //
3 //  Licensed under the Apache License, Version 2.0 (the "License");
4 //  you may not use this file except in compliance with the License.
5 //  You may obtain a copy of the License at:
6 //
7 //      http://www.apache.org/licenses/LICENSE-2.0
8 //
9 //  Unless required by applicable law or agreed to in writing, software
10 //  distributed under the License is distributed on an "AS IS" BASIS,
11 //  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 //  See the License for the specific language governing permissions and
13 //  limitations under the License.
14
15 package codec_test
16
17 import (
18         "testing"
19
20         "git.fd.io/govpp.git/codec"
21 )
22
23 var Data []byte
24
25 func BenchmarkEncodeNew(b *testing.B) {
26         m := NewTestAllMsg()
27         c := codec.DefaultCodec
28
29         var err error
30         var data []byte
31
32         b.ResetTimer()
33         for i := 0; i < b.N; i++ {
34                 data, err = c.EncodeMsg(m, 100)
35                 if err != nil {
36                         b.Fatalf("expected nil error, got: %v", err)
37                 }
38         }
39         Data = data
40 }
41
42 func BenchmarkEncodeWrapper(b *testing.B) {
43         m := codec.Wrapper{NewTestAllMsg()}
44         c := codec.DefaultCodec
45
46         var err error
47         var data []byte
48
49         b.ResetTimer()
50         for i := 0; i < b.N; i++ {
51                 data, err = c.EncodeMsg(m, 100)
52                 if err != nil {
53                         b.Fatalf("expected nil error, got: %v", err)
54                 }
55         }
56         Data = data
57 }
58
59 func BenchmarkEncodeHard(b *testing.B) {
60         m := NewTestAllMsg()
61
62         var err error
63         var data []byte
64
65         b.ResetTimer()
66         for i := 0; i < b.N; i++ {
67                 data, err = m.Marshal(nil)
68                 if err != nil {
69                         b.Fatalf("expected nil error, got: %v", err)
70                 }
71         }
72         Data = data
73 }