From c4b8d476196fd5e8379149581b8cb0140755c8ee Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Mon, 25 Oct 2021 13:30:20 +0200 Subject: [PATCH 1/4] eth/filters: disable bad benchmark --- eth/filters/bench_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/eth/filters/bench_test.go b/eth/filters/bench_test.go index 020db070e583..0be640929e7f 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 an existing datadir.") benchDataDir := node.DefaultDataDir() + "/geth/chaindata" b.Log("Running bloombits benchmark section size:", sectionSize) From 8b6ef434ac3608eaee2aac65485e7568a12468a8 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Mon, 25 Oct 2021 13:36:33 +0200 Subject: [PATCH 2/4] eth/filters: fix benchmarks --- eth/filters/bench_test.go | 3 ++- eth/filters/filter_test.go | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/eth/filters/bench_test.go b/eth/filters/bench_test.go index 0be640929e7f..9632f4195f4c 100644 --- a/eth/filters/bench_test.go +++ b/eth/filters/bench_test.go @@ -62,7 +62,7 @@ func BenchmarkBloomBits32k(b *testing.B) { const benchFilterCnt = 2000 func benchmarkBloomBits(b *testing.B, sectionSize uint64) { - b.Skip("test disabled: this tests presume an existing datadir.") + 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) @@ -156,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 fd25013cc655..63a48f762d19 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)) } }) From f8f7c96534296ac9f998f6c5f39ad33892e6f81d Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Mon, 25 Oct 2021 13:39:46 +0200 Subject: [PATCH 3/4] eth/tracers: fix nil deref in benchmarks --- eth/tracers/tracers_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/eth/tracers/tracers_test.go b/eth/tracers/tracers_test.go index fb817fbc5667..32c09b1a71a6 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 From 6cfc80ce3a8f1ceefef7a423bfc56b43ad3c8345 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Mon, 25 Oct 2021 14:28:05 +0200 Subject: [PATCH 4/4] p2p/simulations: fix benchmarks 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. go test ./p2p/simulations --run - -bench . --benchmem WARN [10-25|13:21:01.293|p2p/simulations/network.go:701] Can't close node id=346330a23288a0d9 err="node not started" WARN [10-25|13:21:01.293|p2p/simulations/network.go:701] Can't close node id=81cd0ab7412886ff err="node not started" WARN [10-25|13:21:01.293|p2p/simulations/network.go:701] Can't close node id=6491608c57436c4d err="node not started" --- p2p/simulations/network.go | 7 ------- 1 file changed, 7 deletions(-) diff --git a/p2p/simulations/network.go b/p2p/simulations/network.go index 9b5e2c37f54c..962910dd25bf 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) }