nimbus-eth1/nimbus/core
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
..
chain Only produce debugging metadata when nimbusDumpDebuggingMetaData is defined (#2275) 2024-06-01 12:34:28 +00:00
executor Speed up account ledger a little (#2279) 2024-06-02 21:21:29 +02:00
pow rm some proof of work mining support (#2227) 2024-05-27 21:49:07 +02:00
tx_pool Speed up account ledger a little (#2279) 2024-06-02 21:21:29 +02:00
block_import.nim import: read from era files (#2254) 2024-05-31 09:13:56 +02:00
casper.nim processBeaconBlockRoot in TxPool(EIP-4788) 2023-10-19 07:50:07 +07:00
chain.nim saner source code grouping 2022-12-02 13:51:42 +07:00
dao.nim Ledger activate unified accounts cache wrapper (#1939) 2023-12-12 19:12:56 +00:00
eip4844.nim results: use canonical import (#2248) 2024-05-30 14:54:03 +02:00
executor.nim saner source code grouping 2022-12-02 13:51:42 +07:00
gaslimit.nim results: use canonical import (#2248) 2024-05-30 14:54:03 +02:00
pow.nim rm clique/mining remnants; rm unused code (#2232) 2024-05-28 07:10:10 +02:00
tx_pool.nim results: use canonical import (#2248) 2024-05-30 14:54:03 +02:00
validate.nim Speed up account ledger a little (#2279) 2024-06-02 21:21:29 +02:00
withdrawals.nim results: use canonical import (#2248) 2024-05-30 14:54:03 +02:00