From 31870a59ff8eac56b0efdc9ad2d4c00466db422d Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Fri, 29 Oct 2021 14:37:00 +0200 Subject: [PATCH] eth/filters, p2p/simulations: fix benchmarks (#23806) Some benchmarks in eth/filters were not good: they weren't reproducible, relying on geth chaindata to be present. Another one was rejected because the receipt was lacking a backing transcation. The p2p simulation benchmark had a lot of the warnings below, due to the framework calling both Stop() and Close(). Apparently, the simulated adapter is the only implementation which has a Close(), and there is no need to call both Stop and Close on it. --- eth/filters/bench_test.go | 2 ++ eth/filters/filter_test.go | 4 ++++ eth/tracers/tracers_test.go | 1 + p2p/simulations/network.go | 7 ------- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/eth/filters/bench_test.go b/eth/filters/bench_test.go index 020db070e..9632f4195 100644 --- a/eth/filters/bench_test.go +++ b/eth/filters/bench_test.go @@ -62,6 +62,7 @@ func BenchmarkBloomBits32k(b *testing.B) { const benchFilterCnt = 2000 func benchmarkBloomBits(b *testing.B, sectionSize uint64) { + b.Skip("test disabled: this tests presume (and modify) an existing datadir.") benchDataDir := node.DefaultDataDir() + "/geth/chaindata" b.Log("Running bloombits benchmark section size:", sectionSize) @@ -155,6 +156,7 @@ func clearBloomBits(db ethdb.Database) { } func BenchmarkNoBloomBits(b *testing.B) { + b.Skip("test disabled: this tests presume (and modify) an existing datadir.") benchDataDir := node.DefaultDataDir() + "/geth/chaindata" b.Log("Running benchmark without bloombits") db, err := rawdb.NewLevelDBDatabase(benchDataDir, 128, 1024, "", false) diff --git a/eth/filters/filter_test.go b/eth/filters/filter_test.go index fd25013cc..63a48f762 100644 --- a/eth/filters/filter_test.go +++ b/eth/filters/filter_test.go @@ -65,15 +65,19 @@ func BenchmarkFilters(b *testing.B) { case 2403: receipt := makeReceipt(addr1) gen.AddUncheckedReceipt(receipt) + gen.AddUncheckedTx(types.NewTransaction(999, common.HexToAddress("0x999"), big.NewInt(999), 999, gen.BaseFee(), nil)) case 1034: receipt := makeReceipt(addr2) gen.AddUncheckedReceipt(receipt) + gen.AddUncheckedTx(types.NewTransaction(999, common.HexToAddress("0x999"), big.NewInt(999), 999, gen.BaseFee(), nil)) case 34: receipt := makeReceipt(addr3) gen.AddUncheckedReceipt(receipt) + gen.AddUncheckedTx(types.NewTransaction(999, common.HexToAddress("0x999"), big.NewInt(999), 999, gen.BaseFee(), nil)) case 99999: receipt := makeReceipt(addr4) gen.AddUncheckedReceipt(receipt) + gen.AddUncheckedTx(types.NewTransaction(999, common.HexToAddress("0x999"), big.NewInt(999), 999, gen.BaseFee(), nil)) } }) diff --git a/eth/tracers/tracers_test.go b/eth/tracers/tracers_test.go index fb817fbc5..32c09b1a7 100644 --- a/eth/tracers/tracers_test.go +++ b/eth/tracers/tracers_test.go @@ -337,6 +337,7 @@ func BenchmarkTransactionTrace(b *testing.B) { Time: new(big.Int).SetUint64(uint64(5)), Difficulty: big.NewInt(0xffffffff), GasLimit: gas, + BaseFee: big.NewInt(8), } alloc := core.GenesisAlloc{} // The code pushes 'deadbeef' into memory, then the other params, and calls CREATE2, then returns diff --git a/p2p/simulations/network.go b/p2p/simulations/network.go index 9b5e2c37f..962910dd2 100644 --- a/p2p/simulations/network.go +++ b/p2p/simulations/network.go @@ -22,7 +22,6 @@ import ( "encoding/json" "errors" "fmt" - "io" "math/rand" "sync" "time" @@ -695,12 +694,6 @@ func (net *Network) Shutdown() { if err := node.Stop(); err != nil { log.Warn("Can't stop node", "id", node.ID(), "err", err) } - // If the node has the close method, call it. - if closer, ok := node.Node.(io.Closer); ok { - if err := closer.Close(); err != nil { - log.Warn("Can't close node", "id", node.ID(), "err", err) - } - } } close(net.quitc) }