func BenchmarkFullAppSimulation(b *testing.B) {
	config, db, dir, logger, _, err := simapp.SetupSimulation("goleveldb-app-sim", "Simulation")
	if err != nil {
		b.Fatalf("simulation setup failed: %s", err.Error())
	}
	defer func() {
		db.Close()
		err = os.RemoveAll(dir)
		if err != nil {
			b.Fatal(err)
		}
	}()
	app := link.NewLinkApp(logger, db, nil, true, map[int64]bool{}, link.DefaultNodeHome, simapp.FlagPeriodValue, link.MakeEncodingConfig(), simapp.EmptyAppOptions{}, nil, interBlockCacheOpt())
	_, simParams, simErr := simulation.SimulateFromSeed(
		b,
		os.Stdout,
		app.BaseApp,
		simapp.AppStateFn(app.AppCodec(), app.SimulationManager()),
		simulation2.RandomAccounts,  
		simapp.SimulationOperations(app, app.AppCodec(), config),
		app.ModuleAccountAddrs(),
		config,
		app.AppCodec(),
	)
	if err = simapp.CheckExportSimulation(app, config, simParams); err != nil {
		b.Fatal(err)
	}
	if simErr != nil {
		b.Fatal(simErr)
	}
	if config.Commit {
		simapp.PrintStats(db)
	}
}
Profile with:
/usr/local/go/bin/go test -benchmem -run=^$ github.com/line/lbm-sdk/LinkApp -bench ^BenchmarkFullAppSimulation$ -Commit=true -cpuprofile cpu.out
package app_test
import (
	"encoding/json"
	"fmt"
	"os"
	"testing"
	"github.com/line/lbm-sdk/store/cache"
	link "github.com/line/lfb/app"
	"github.com/line/lfb/app/helpers"
	"github.com/line/ostracon/libs/log"
	"github.com/line/ostracon/libs/rand"
	"github.com/line/tm-db/v2/memdb"
	"github.com/stretchr/testify/require"
	"github.com/line/lbm-sdk/baseapp"
	"github.com/line/lbm-sdk/simapp"
	"github.com/line/lbm-sdk/store"
	simulation2 "github.com/line/lbm-sdk/types/simulation"
	"github.com/line/lbm-sdk/x/simulation"
)
func init() {
	simapp.GetSimulatorFlags()
}