OSDN Git Service

053e6de6f954249b4869027318ea86431d19b92b
[bytom/bytom.git] / protocol / bc / entry_test.go
1 package bc
2
3 import (
4         "reflect"
5         "testing"
6 )
7
8 func BenchmarkEntryID(b *testing.B) {
9         m := NewMux([]*ValueSource{{Position: 1}}, &Program{Code: []byte{1}, VmVersion: 1})
10
11         entries := []Entry{
12                 NewIssuance(nil, &AssetAmount{}, &Hash{}, 0),
13                 NewTxHeader(1, 1, nil, &Hash{}),
14                 m,
15                 NewNonce(&Program{Code: []byte{1}, VmVersion: 1}),
16                 NewOutput(&ValueSource{}, &Program{Code: []byte{1}, VmVersion: 1}, &Hash{}, 0),
17                 NewRetirement(&ValueSource{}, &Hash{}, 1),
18                 NewSpend(&Hash{}, &Hash{}, 0),
19         }
20
21         for _, e := range entries {
22                 name := reflect.TypeOf(e).Elem().Name()
23                 b.Run(name, func(b *testing.B) {
24                         for i := 0; i < b.N; i++ {
25                                 EntryID(e)
26                         }
27                 })
28         }
29 }