github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/cosmos-sdk/x/auth/keeper/keeper_bench_test.go (about) 1 package keeper_test 2 3 import ( 4 "testing" 5 6 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 7 ) 8 9 func BenchmarkAccountMapperGetAccountFound(b *testing.B) { 10 app, ctx := createTestApp(false) 11 12 // assumes b.N < 2**24 13 for i := 0; i < b.N; i++ { 14 arr := []byte{byte((i & 0xFF0000) >> 16), byte((i & 0xFF00) >> 8), byte(i & 0xFF)} 15 addr := sdk.AccAddress(arr) 16 acc := app.AccountKeeper.NewAccountWithAddress(ctx, addr) 17 app.AccountKeeper.SetAccount(ctx, acc) 18 } 19 20 b.ResetTimer() 21 for i := 0; i < b.N; i++ { 22 arr := []byte{byte((i & 0xFF0000) >> 16), byte((i & 0xFF00) >> 8), byte(i & 0xFF)} 23 app.AccountKeeper.GetAccount(ctx, sdk.AccAddress(arr)) 24 } 25 } 26 27 func BenchmarkAccountMapperGetAccountFoundWithCoins(b *testing.B) { 28 app, ctx := createTestApp(false) 29 30 coins := sdk.Coins{ 31 sdk.NewCoin("ltc", sdk.NewInt(1000)), 32 sdk.NewCoin("btc", sdk.NewInt(1000)), 33 sdk.NewCoin("eth", sdk.NewInt(1000)), 34 sdk.NewCoin("xrp", sdk.NewInt(1000)), 35 sdk.NewCoin("bch", sdk.NewInt(1000)), 36 sdk.NewCoin("eos", sdk.NewInt(1000)), 37 } 38 39 // assumes b.N < 2**24 40 for i := 0; i < b.N; i++ { 41 arr := []byte{byte((i & 0xFF0000) >> 16), byte((i & 0xFF00) >> 8), byte(i & 0xFF)} 42 addr := sdk.AccAddress(arr) 43 acc := app.AccountKeeper.NewAccountWithAddress(ctx, addr) 44 acc.SetCoins(coins) 45 app.AccountKeeper.SetAccount(ctx, acc) 46 } 47 48 b.ResetTimer() 49 for i := 0; i < b.N; i++ { 50 arr := []byte{byte((i & 0xFF0000) >> 16), byte((i & 0xFF00) >> 8), byte(i & 0xFF)} 51 app.AccountKeeper.GetAccount(ctx, sdk.AccAddress(arr)) 52 } 53 } 54 55 func BenchmarkAccountMapperSetAccount(b *testing.B) { 56 app, ctx := createTestApp(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 := app.AccountKeeper.NewAccountWithAddress(ctx, addr) 65 app.AccountKeeper.SetAccount(ctx, acc) 66 } 67 } 68 69 func BenchmarkAccountMapperSetAccountWithCoins(b *testing.B) { 70 app, ctx := createTestApp(false) 71 72 coins := sdk.Coins{ 73 sdk.NewCoin("ltc", sdk.NewInt(1000)), 74 sdk.NewCoin("btc", sdk.NewInt(1000)), 75 sdk.NewCoin("eth", sdk.NewInt(1000)), 76 sdk.NewCoin("xrp", sdk.NewInt(1000)), 77 sdk.NewCoin("bch", sdk.NewInt(1000)), 78 sdk.NewCoin("eos", sdk.NewInt(1000)), 79 } 80 81 b.ResetTimer() 82 83 // assumes b.N < 2**24 84 for i := 0; i < b.N; i++ { 85 arr := []byte{byte((i & 0xFF0000) >> 16), byte((i & 0xFF00) >> 8), byte(i & 0xFF)} 86 addr := sdk.AccAddress(arr) 87 acc := app.AccountKeeper.NewAccountWithAddress(ctx, addr) 88 acc.SetCoins(coins) 89 app.AccountKeeper.SetAccount(ctx, acc) 90 } 91 }