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  }