github.com/cosmos/cosmos-sdk@v0.50.10/x/auth/ante/sigverify_benchmark_test.go (about) 1 package ante_test 2 3 import ( 4 "testing" 5 6 cmtcrypto "github.com/cometbft/cometbft/crypto" 7 "github.com/stretchr/testify/require" 8 9 "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" 10 "github.com/cosmos/cosmos-sdk/crypto/keys/secp256r1" 11 ) 12 13 // This benchmark is used to asses the ante.Secp256k1ToR1GasFactor value 14 func BenchmarkSig(b *testing.B) { 15 require := require.New(b) 16 msg := cmtcrypto.CRandBytes(1000) 17 18 skK := secp256k1.GenPrivKey() 19 pkK := skK.PubKey() 20 skR, _ := secp256r1.GenPrivKey() 21 pkR := skR.PubKey() 22 23 sigK, err := skK.Sign(msg) 24 require.NoError(err) 25 sigR, err := skR.Sign(msg) 26 require.NoError(err) 27 b.ResetTimer() 28 29 b.Run("secp256k1", func(b *testing.B) { 30 b.ReportAllocs() 31 for i := 0; i < b.N; i++ { 32 ok := pkK.VerifySignature(msg, sigK) 33 require.True(ok) 34 } 35 }) 36 37 b.Run("secp256r1", func(b *testing.B) { 38 b.ReportAllocs() 39 for i := 0; i < b.N; i++ { 40 ok := pkR.VerifySignature(msg, sigR) 41 require.True(ok) 42 } 43 }) 44 }