keychain: add basic benchmark for privkey derivation

This commit is contained in:
Olaoluwa Osuntokun 2021-08-13 16:40:35 -07:00
parent 93d12cd9fc
commit df11b0fed0
No known key found for this signature in database
GPG Key ID: 3BBD59E99B280306

41
keychain/bench_test.go Normal file
View File

@ -0,0 +1,41 @@
package keychain
import (
"testing"
"github.com/btcsuite/btcd/btcec"
"github.com/stretchr/testify/require"
)
func BenchmarkDerivePrivKey(t *testing.B) {
cleanUp, wallet, err := createTestBtcWallet(
CoinTypeBitcoin,
)
if err != nil {
t.Fatalf("unable to create wallet: %v", err)
}
keyRing := NewBtcWalletKeyRing(wallet, CoinTypeBitcoin)
defer cleanUp()
var (
privKey *btcec.PrivateKey
)
keyDesc := KeyDescriptor{
KeyLocator: KeyLocator{
Family: KeyFamilyMultiSig,
Index: 1,
},
}
t.ReportAllocs()
t.ResetTimer()
for i := 0; i < t.N; i++ {
privKey, err = keyRing.DerivePrivKey(keyDesc)
}
require.NoError(t, err)
require.NotNil(t, privKey)
}