- package light_test
-
- import (
- "fmt"
- "testing"
-
- "github.com/tendermint/tendermint/light"
- )
-
- func BenchmarkGenCommit20(b *testing.B) {
- keys := light.GenValKeys(20)
- benchmarkGenCommit(b, keys)
- }
-
- func BenchmarkGenCommit100(b *testing.B) {
- keys := light.GenValKeys(100)
- benchmarkGenCommit(b, keys)
- }
-
- func BenchmarkGenCommitSec20(b *testing.B) {
- keys := light.GenSecpValKeys(20)
- benchmarkGenCommit(b, keys)
- }
-
- func BenchmarkGenCommitSec100(b *testing.B) {
- keys := light.GenSecpValKeys(100)
- benchmarkGenCommit(b, keys)
- }
-
- func benchmarkGenCommit(b *testing.B, keys light.ValKeys) {
- chainID := fmt.Sprintf("bench-%d", len(keys))
- vals := keys.ToValidators(20, 10)
- for i := 0; i < b.N; i++ {
- h := 1 + i
- appHash := []byte(fmt.Sprintf("h=%d", h))
- keys.GenCommit(chainID, h, nil, vals, appHash, 0, len(keys))
- }
- }
-
- // this benchmarks generating one key
- func BenchmarkGenValKeys(b *testing.B) {
- keys := light.GenValKeys(20)
- for i := 0; i < b.N; i++ {
- keys = keys.Extend(1)
- }
- }
-
- // this benchmarks generating one key
- func BenchmarkGenSecpValKeys(b *testing.B) {
- keys := light.GenSecpValKeys(20)
- for i := 0; i < b.N; i++ {
- keys = keys.Extend(1)
- }
- }
-
- func BenchmarkToValidators20(b *testing.B) {
- benchmarkToValidators(b, 20)
- }
-
- func BenchmarkToValidators100(b *testing.B) {
- benchmarkToValidators(b, 100)
- }
-
- // this benchmarks constructing the validator set (.PubKey() * nodes)
- func benchmarkToValidators(b *testing.B, nodes int) {
- keys := light.GenValKeys(nodes)
- for i := 1; i <= b.N; i++ {
- keys.ToValidators(int64(2*i), int64(i))
- }
- }
-
- func BenchmarkToValidatorsSec100(b *testing.B) {
- benchmarkToValidatorsSec(b, 100)
- }
-
- // this benchmarks constructing the validator set (.PubKey() * nodes)
- func benchmarkToValidatorsSec(b *testing.B, nodes int) {
- keys := light.GenSecpValKeys(nodes)
- for i := 1; i <= b.N; i++ {
- keys.ToValidators(int64(2*i), int64(i))
- }
- }
-
- func BenchmarkCertifyCommit20(b *testing.B) {
- keys := light.GenValKeys(20)
- benchmarkCertifyCommit(b, keys)
- }
-
- func BenchmarkCertifyCommit100(b *testing.B) {
- keys := light.GenValKeys(100)
- benchmarkCertifyCommit(b, keys)
- }
-
- func BenchmarkCertifyCommitSec20(b *testing.B) {
- keys := light.GenSecpValKeys(20)
- benchmarkCertifyCommit(b, keys)
- }
-
- func BenchmarkCertifyCommitSec100(b *testing.B) {
- keys := light.GenSecpValKeys(100)
- benchmarkCertifyCommit(b, keys)
- }
-
- func benchmarkCertifyCommit(b *testing.B, keys light.ValKeys) {
- chainID := "bench-certify"
- vals := keys.ToValidators(20, 10)
- cert := light.NewStatic(chainID, vals)
- check := keys.GenCommit(chainID, 123, nil, vals, []byte("foo"), 0, len(keys))
- for i := 0; i < b.N; i++ {
- err := cert.Certify(check)
- if err != nil {
- panic(err)
- }
- }
-
- }
|