42 lines
		
	
	
		
			798 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			798 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| // 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)
 | |
| 	}
 | |
| }
 |