diff --git a/packages/binary/transaction/test/transaction_test.go b/packages/binary/transaction/test/transaction_test.go index 4ff8aa67b0175ffced0d46754dbbbb5a766a24dc..c04c62b4627198f3db813e98c57e516a161638a1 100644 --- a/packages/binary/transaction/test/transaction_test.go +++ b/packages/binary/transaction/test/transaction_test.go @@ -22,6 +22,42 @@ import ( "github.com/stretchr/testify/assert" ) +func BenchmarkVerifyDataTransactions(b *testing.B) { + transactions := make([][]byte, b.N) + for i := 0; i < b.N; i++ { + tx := transaction.New(transaction.EmptyId, transaction.EmptyId, identity.Generate(), data.New([]byte("some data"))) + + if marshaledTransaction, err := tx.MarshalBinary(); err != nil { + b.Error(err) + } else { + transactions[i] = marshaledTransaction + } + } + + var wg sync.WaitGroup + + b.ResetTimer() + + for i := 0; i < b.N; i++ { + wg.Add(1) + + currentIndex := i + if err := ants.Submit(func() { + if tx, err := transaction.FromBytes(transactions[currentIndex]); err != nil { + b.Error(err) + } else { + tx.VerifySignature() + } + + wg.Done() + }); err != nil { + b.Error(err) + } + } + + wg.Wait() +} + func BenchmarkVerifyValueTransactions(b *testing.B) { keyPairOfSourceAddress := ed25119.GenerateKeyPair() keyPairOfTargetAddress := ed25119.GenerateKeyPair()