diff options
Diffstat (limited to 'ledger/perf_test.go')
-rw-r--r-- | ledger/perf_test.go | 52 |
1 files changed, 3 insertions, 49 deletions
diff --git a/ledger/perf_test.go b/ledger/perf_test.go index c1e520fef..15aca599f 100644 --- a/ledger/perf_test.go +++ b/ledger/perf_test.go @@ -30,64 +30,18 @@ import ( "github.com/algorand/go-algorand/data/basics" "github.com/algorand/go-algorand/data/bookkeeping" "github.com/algorand/go-algorand/data/transactions" + ledgertesting "github.com/algorand/go-algorand/ledger/testing" "github.com/algorand/go-algorand/logging" "github.com/algorand/go-algorand/protocol" "github.com/algorand/go-algorand/util/execpool" ) -func genesis(naccts int) (InitState, []basics.Address, []*crypto.SignatureSecrets) { - return genesisWithProto(naccts, protocol.ConsensusCurrentVersion) -} -func genesisWithProto(naccts int, proto protocol.ConsensusVersion) (InitState, []basics.Address, []*crypto.SignatureSecrets) { - blk := bookkeeping.Block{} - blk.CurrentProtocol = proto - blk.BlockHeader.GenesisID = "test" - blk.FeeSink = testSinkAddr - blk.RewardsPool = testPoolAddr - crypto.RandBytes(blk.BlockHeader.GenesisHash[:]) - - addrs := []basics.Address{} - keys := []*crypto.SignatureSecrets{} - accts := make(map[basics.Address]basics.AccountData) - - // 10 billion microalgos, across N accounts and pool and sink - amount := 10 * 1000000000 * 1000000 / uint64(naccts+2) - - for i := 0; i < naccts; i++ { - var seed crypto.Seed - crypto.RandBytes(seed[:]) - key := crypto.GenerateSignatureSecrets(seed) - addr := basics.Address(key.SignatureVerifier) - - keys = append(keys, key) - addrs = append(addrs, addr) - - adata := basics.AccountData{} - adata.MicroAlgos.Raw = amount //1000 * 1000 * 1000 * 1000 / uint64(naccts) - accts[addr] = adata - } - - pooldata := basics.AccountData{} - pooldata.MicroAlgos.Raw = amount //1000 * 1000 * 1000 * 1000 - pooldata.Status = basics.NotParticipating - accts[testPoolAddr] = pooldata - - sinkdata := basics.AccountData{} - sinkdata.MicroAlgos.Raw = amount //1000 * 1000 * 1000 * 1000 - sinkdata.Status = basics.NotParticipating - accts[testSinkAddr] = sinkdata - - genesisHash := blk.BlockHeader.GenesisHash - - return InitState{blk, accts, genesisHash}, addrs, keys -} - func BenchmarkManyAccounts(b *testing.B) { deadlock.Opts.Disable = true b.StopTimer() - genesisInitState, addrs, _ := genesis(1) + genesisInitState, addrs, _ := ledgertesting.Genesis(1) addr := addrs[0] dbName := fmt.Sprintf("%s.%d", b.Name(), crypto.RandUint64()) @@ -138,7 +92,7 @@ func BenchmarkManyAccounts(b *testing.B) { func BenchmarkValidate(b *testing.B) { b.StopTimer() - genesisInitState, addrs, keys := genesis(10000) + genesisInitState, addrs, keys := ledgertesting.Genesis(10000) backlogPool := execpool.MakeBacklog(nil, 0, execpool.LowPriority, nil) defer backlogPool.Shutdown() |