go-ethereum/cmd/evm/internal/t8ntool
fselmo fb2a0b2207 cmd/evm/t8ntool: stream alloc input into StateDB
For file-based alloc input, tokenize the JSON and insert each account
into the pre-state StateDB as it is decoded, instead of materializing
the full GenesisAlloc map first and then iterating it in MakePreState.
Peak memory becomes a single decoded account rather than the whole
alloc map, the decoder's buffer over it, and the StateDB populating
alongside both.

On the same benchmark-scale test that measured the output-streaming
change, this dropped t8n peak heap_sys from ~8 GiB to ~3 GiB and cut
an additional ~20s off wall-clock. The stdin input path still uses
the map-based MakePreState since alloc shares a decoder with env/txs
there; Prestate.AllocPath is how the file path opts in.
2026-04-24 11:52:27 +02:00
..
block.go core/vm: implement eip-7843: SLOTNUM (#33589) 2026-02-26 13:53:46 +01:00
execution.go cmd/evm/t8ntool: stream alloc input into StateDB 2026-04-24 11:52:27 +02:00
file_tracer.go cmd/evm: add --opcode.count flag to t8n (#33800) 2026-02-17 20:42:53 +01:00
flags.go cmd/evm: add --opcode.count flag to t8n (#33800) 2026-02-17 20:42:53 +01:00
gen_execresult.go all: implement eip-7702 set code tx (#30078) 2024-12-16 11:29:37 +01:00
gen_header.go core/vm: implement eip-7843: SLOTNUM (#33589) 2026-02-26 13:53:46 +01:00
gen_stenv.go core/vm: implement eip-7843: SLOTNUM (#33589) 2026-02-26 13:53:46 +01:00
transaction.go core: implement eip-7976: Increase Calldata Floor Cost (#34748) 2026-04-21 16:20:02 +08:00
transition.go cmd/evm/t8ntool: stream alloc input into StateDB 2026-04-24 11:52:27 +02:00
tx_iterator.go core/types: cleanup tx signer logic (#31434) 2025-03-19 16:05:44 +01:00
utils.go all: fix typos in comments (#29186) 2024-03-07 22:56:19 +01:00