package keeper_test import ( "testing" "github.com/stretchr/testify/require" "cosmossdk.io/depinject" "cosmossdk.io/log" simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/auth/keeper" "github.com/cosmos/cosmos-sdk/x/auth/testutil" ) func BenchmarkAccountMapperGetAccountFound(b *testing.B) { b.ReportAllocs() var accountKeeper keeper.AccountKeeper app, err := simtestutil.Setup( depinject.Configs( depinject.Supply(log.NewNopLogger()), testutil.AppConfig, ), &accountKeeper, ) require.NoError(b, err) ctx := app.NewContext(false) // assumes b.N < 2**24 for i := 0; i < b.N; i++ { arr := []byte{byte((i & 0xFF0000) >> 16), byte((i & 0xFF00) >> 8), byte(i & 0xFF)} addr := sdk.AccAddress(arr) acc := accountKeeper.NewAccountWithAddress(ctx, addr) accountKeeper.SetAccount(ctx, acc) } b.ResetTimer() for i := 0; i < b.N; i++ { arr := []byte{byte((i & 0xFF0000) >> 16), byte((i & 0xFF00) >> 8), byte(i & 0xFF)} accountKeeper.GetAccount(ctx, sdk.AccAddress(arr)) } } func BenchmarkAccountMapperSetAccount(b *testing.B) { b.ReportAllocs() var accountKeeper keeper.AccountKeeper app, err := simtestutil.Setup( depinject.Configs( depinject.Supply(log.NewNopLogger()), testutil.AppConfig, ), &accountKeeper) require.NoError(b, err) ctx := app.NewContext(false) b.ResetTimer() // assumes b.N < 2**24 for i := 0; i < b.N; i++ { arr := []byte{byte((i & 0xFF0000) >> 16), byte((i & 0xFF00) >> 8), byte(i & 0xFF)} addr := sdk.AccAddress(arr) acc := accountKeeper.NewAccountWithAddress(ctx, addr) accountKeeper.SetAccount(ctx, acc) } }