github.com/Finschia/finschia-sdk@v0.48.1/x/staking/keeper/validator_bench_test.go (about) 1 package keeper_test 2 3 import "testing" 4 5 func BenchmarkGetValidator(b *testing.B) { 6 // 900 is the max number we are allowed to use in order to avoid simapp.CreateTestPubKeys 7 // panic: encoding/hex: odd length hex string 8 powersNumber := 900 9 10 var totalPower int64 = 0 11 powers := make([]int64, powersNumber) 12 for i := range powers { 13 powers[i] = int64(i) 14 totalPower += int64(i) 15 } 16 17 app, ctx, _, valAddrs, vals := initValidators(b, totalPower, len(powers), powers) 18 19 for _, validator := range vals { 20 app.StakingKeeper.SetValidator(ctx, validator) 21 } 22 23 b.ResetTimer() 24 for n := 0; n < b.N; n++ { 25 for _, addr := range valAddrs { 26 _, _ = app.StakingKeeper.GetValidator(ctx, addr) 27 } 28 } 29 }