nimbus-eth1/nimbus/evm
Jacek Sieka 7bbb0f4421
Stream blocks during import (#2937)
When running the import, currently blocks are loaded in batches into a
`seq` then passed to the importer as such.

In reality, blocks are still processed one by one, so the batching does
not offer any performance advantage. It does however require that the
client wastes memory, up to several GB, on the block sequence while
they're waiting to be processed.

This PR introduces a persister that accepts these potentially large
blocks one by one and at the same time removes a number of redundant /
unnecessary copies, assignments and resets that were slowing down the
import process in general.
2024-12-18 13:21:20 +01:00
..
interpreter Move EVM code initialization outside of newComputation (#2926) 2024-12-11 14:56:41 +01:00
tracer Interpreter dispatch cleanups (#2913) 2024-12-06 13:01:15 +01:00
blake2b_f.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
blscurve.nim Bump nim-blscurve for gcc-14 compatibility (#2365) 2024-06-15 17:34:07 +00:00
code_bytes.nim Implement EIP-7702: Set EOA account code (#2631) 2024-11-25 11:28:03 +01:00
code_stream.nim Stream blocks during import (#2937) 2024-12-18 13:21:20 +01:00
computation.nim Move EVM code initialization outside of newComputation (#2926) 2024-12-11 14:56:41 +01:00
evm_errors.nim Remove exceptions from EVM (#2314) 2024-06-07 15:24:32 +07:00
evmc_api.nim Fix incomplete PR #2877 (#2880) 2024-11-27 17:45:37 +07:00
evmc_helpers.nim Move EVM code initialization outside of newComputation (#2926) 2024-12-11 14:56:41 +01:00
internals.nim Separate evmc gasCosts and nim-evm gasCosts (#2454) 2024-07-05 07:00:03 +07:00
interpreter_dispatch.nim Move EVM code initialization outside of newComputation (#2926) 2024-12-11 14:56:41 +01:00
memory.nim odds and ends (#2481) 2024-07-13 20:42:49 +02:00
message.nim Move EVM code initialization outside of newComputation (#2926) 2024-12-11 14:56:41 +01:00
modexp.nim Add style check to config.nims and fix styles in source code (#2038) 2024-02-20 10:07:38 +07:00
nimdoc.cfg Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
precompiles.nim Replace deprecated toBytes with toBytesBE in bn256ecPairing precompile (#2944) 2024-12-17 18:17:47 +07:00
stack.nim Interpreter dispatch cleanups (#2913) 2024-12-06 13:01:15 +01:00
state.nim Stream blocks during import (#2937) 2024-12-18 13:21:20 +01:00
types.nim Move EVM code initialization outside of newComputation (#2926) 2024-12-11 14:56:41 +01:00