github.com/cosmos/cosmos-sdk@v0.50.10/x/auth/keeper/keeper_bench_test.go (about) 1 package keeper_test 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/require" 7 8 "cosmossdk.io/depinject" 9 "cosmossdk.io/log" 10 11 simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" 12 sdk "github.com/cosmos/cosmos-sdk/types" 13 "github.com/cosmos/cosmos-sdk/x/auth/keeper" 14 "github.com/cosmos/cosmos-sdk/x/auth/testutil" 15 ) 16 17 func BenchmarkAccountMapperGetAccountFound(b *testing.B) { 18 b.ReportAllocs() 19 var accountKeeper keeper.AccountKeeper 20 app, err := simtestutil.Setup( 21 depinject.Configs( 22 depinject.Supply(log.NewNopLogger()), 23 testutil.AppConfig, 24 ), 25 &accountKeeper, 26 ) 27 require.NoError(b, err) 28 29 ctx := app.BaseApp.NewContext(false) 30 31 // assumes b.N < 2**24 32 for i := 0; i < b.N; i++ { 33 arr := []byte{byte((i & 0xFF0000) >> 16), byte((i & 0xFF00) >> 8), byte(i & 0xFF)} 34 addr := sdk.AccAddress(arr) 35 acc := accountKeeper.NewAccountWithAddress(ctx, addr) 36 accountKeeper.SetAccount(ctx, acc) 37 } 38 39 b.ResetTimer() 40 for i := 0; i < b.N; i++ { 41 arr := []byte{byte((i & 0xFF0000) >> 16), byte((i & 0xFF00) >> 8), byte(i & 0xFF)} 42 accountKeeper.GetAccount(ctx, sdk.AccAddress(arr)) 43 } 44 } 45 46 func BenchmarkAccountMapperSetAccount(b *testing.B) { 47 b.ReportAllocs() 48 var accountKeeper keeper.AccountKeeper 49 app, err := simtestutil.Setup( 50 depinject.Configs( 51 depinject.Supply(log.NewNopLogger()), 52 testutil.AppConfig, 53 ), &accountKeeper) 54 require.NoError(b, err) 55 56 ctx := app.BaseApp.NewContext(false) 57 58 b.ResetTimer() 59 60 // assumes b.N < 2**24 61 for i := 0; i < b.N; i++ { 62 arr := []byte{byte((i & 0xFF0000) >> 16), byte((i & 0xFF00) >> 8), byte(i & 0xFF)} 63 addr := sdk.AccAddress(arr) 64 acc := accountKeeper.NewAccountWithAddress(ctx, addr) 65 accountKeeper.SetAccount(ctx, acc) 66 } 67 }