stackitem: add benchmark for serialization routines

Signed-off-by: Evgeniy Stratonikov <evgeniy@nspcc.ru>
This commit is contained in:
Evgeniy Stratonikov 2021-07-09 14:35:28 +03:00
parent 1853d0c713
commit 69cdd5252a
2 changed files with 39 additions and 0 deletions

View file

@ -4,6 +4,7 @@ import (
"errors"
"testing"
"github.com/nspcc-dev/neo-go/pkg/io"
"github.com/stretchr/testify/require"
)
@ -21,3 +22,19 @@ func TestSerializationMaxErr(t *testing.T) {
_, err = Serialize(aitem)
require.True(t, errors.Is(err, ErrTooBig), err)
}
func BenchmarkEncodeBinary(b *testing.B) {
arr := getBigArray(15)
w := io.NewBufBinWriter()
b.ResetTimer()
b.ReportAllocs()
for i := 0; i < b.N; i++ {
w.Reset()
EncodeBinary(arr, w.BinWriter)
if w.Err != nil {
b.FailNow()
}
}
}