// stm: ignore // Ignored because implementation relies on external (ffi) lib package bls import ( "crypto/rand" "testing" "github.com/filecoin-project/go-address" ) func BenchmarkBLSSign(b *testing.B) { signer := blsSigner{} for i := 0; i < b.N; i++ { b.StopTimer() pk, _ := signer.GenPrivate() randMsg := make([]byte, 32) _, _ = rand.Read(randMsg) b.StartTimer() _, _ = signer.Sign(pk, randMsg) } } func BenchmarkBLSVerify(b *testing.B) { signer := blsSigner{} for i := 0; i < b.N; i++ { b.StopTimer() randMsg := make([]byte, 32) _, _ = rand.Read(randMsg) priv, _ := signer.GenPrivate() pk, _ := signer.ToPublic(priv) addr, _ := address.NewBLSAddress(pk) sig, _ := signer.Sign(priv, randMsg) b.StartTimer() _ = signer.Verify(sig, addr, randMsg) } }