go-ethereum/miner
Jonny Rhea d6f222a081
core, core/vm: precompile result caching (#35388)
Blocks heavy in precompile calls (e.g. Aztec's proof settlement txs)
spend most of their processing time on operations (ECMUL, pairings, KZG
point evaluation, MODEXP) that the state prefetcher has already computed
and thrown away.

This PR adds a precompile result cache shared between the prefetcher and
block processing (and the miner), following the JumpDestCache pattern.
Note that cached precompiles are keyed by address and input, with
entries partitioned by the active precompile set, so a fork that changes
the behavior behind an address can never be served results from before
it.

---------

Co-authored-by: Gary Rong <garyrong0905@gmail.com>
2026-07-28 10:47:33 +08:00
..
stress params: remove named hardforks from bpo schedule (#35029) 2026-07-01 16:51:05 +08:00
miner.go miner: set slot number for pending block post-Amsterdam (#34792) 2026-05-28 10:52:27 +02:00
miner_test.go cmd, core, trie, triedb: split CachingDB into merkle + binary dbs. (#34700) 2026-04-17 08:55:54 +08:00
payload_building.go eth/catalyst: pass TargetGasLimit via engine api (#35372) 2026-07-20 15:08:23 +08:00
payload_building_test.go cmd, core, eth, miner: apply 7997 in block building (#35285) 2026-07-07 14:40:25 +02:00
pending.go all: update license comments and AUTHORS (#31133) 2025-02-05 23:01:17 +01:00
worker.go core, core/vm: precompile result caching (#35388) 2026-07-28 10:47:33 +08:00