From 898ff115ac4ba7331845403c0b04562818806b86 Mon Sep 17 00:00:00 2001 From: Jared Wasinger Date: Mon, 15 Dec 2025 11:27:31 -0800 Subject: [PATCH] perf experiment: limit the number of concurrently-executing txs to the number of CPUs --- core/parallel_state_processor.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/parallel_state_processor.go b/core/parallel_state_processor.go index 8a8f730900..d6e5f24fc7 100644 --- a/core/parallel_state_processor.go +++ b/core/parallel_state_processor.go @@ -9,6 +9,7 @@ import ( "github.com/ethereum/go-ethereum/core/types/bal" "github.com/ethereum/go-ethereum/core/vm" "golang.org/x/sync/errgroup" + "runtime" "slices" "time" ) @@ -330,6 +331,7 @@ func (p *ParallelStateProcessor) Process(block *types.Block, stateTransition *st tExecStart = time.Now() go p.resultHandler(block, stateReads, postTxState, tExecStart, txResCh, rootCalcResultCh, resCh) var workers errgroup.Group + workers.SetLimit(runtime.NumCPU()) startingState := statedb.Copy() for i, tx := range block.Transactions() { tx := tx