nimbus-eth1/nimbus/evm
Jacek Sieka 7f76586214
Speed up account ledger a little (#2279)
`persist` is a hotspot when processing blocks because it is run at least
once per transaction and loops over the entire account cache every time.

Here, we introduce an extra `dirty` map that keeps track of all accounts
that need checking during `persist` which fixes the immediate
inefficiency, though probably this could benefit from a more thorough
review - we also get rid of the unused clearCache flag - we start with
a fresh cache on every fresh vmState.

* avoid unnecessary code hash comparisons
* avoid unnecessary copies when iterating
* use EMPTY_CODE_HASH throughout for code hash comparison
2024-06-02 21:21:29 +02:00
..
interpreter simplify EVM callback (#2282) 2024-06-02 13:00:27 +02:00
tracer Implement RPC method eth_getAccessList (#2091) 2024-03-21 18:24:32 +07:00
blake2b_f.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
blscurve.nim rm Miracl and remaining i386 (32-bit) build support (#2250) 2024-05-30 21:08:09 +02:00
code_stream.nim Prepare source code for nim v2 CI (#2028) 2024-02-15 09:57:05 +07:00
computation.nim use --styleCheck:error (#2242) 2024-05-30 09:01:07 +00:00
evmc_api.nim Bump nim-evmc to 86d22a026b0aa07c07b3afd7d91ca475e0eae12a (#2113) 2024-03-28 13:47:02 +07:00
evmc_helpers.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
interpreter_dispatch.nim Attempt to roll back stateless mode implementation in a single PR (#2209) 2024-05-22 21:01:19 +00:00
memory.nim Bump stint to v2.0: new array backend (#1747) 2023-09-13 09:32:38 +07:00
message.nim EVM embrace more EVMC types 2023-08-28 21:36:23 +07: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 results: use canonical import (#2248) 2024-05-30 14:54:03 +02:00
stack.nim Implement RPC method eth_getAccessList (#2091) 2024-03-21 18:24:32 +07:00
state.nim Cleanup unused raises in evm/state and other obsolete informations (#2243) 2024-05-30 09:03:54 +00:00
state_transactions.nim Attempt to roll back stateless mode implementation in a single PR (#2209) 2024-05-22 21:01:19 +00:00
types.nim Speed up account ledger a little (#2279) 2024-06-02 21:21:29 +02:00
validation.nim optimize EVM memory extend 2023-05-31 10:14:26 +07:00