7f76586214
`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 |
||
---|---|---|
.. | ||
tx_chain | ||
tx_tabs | ||
tx_tasks | ||
tx_chain.nim | ||
tx_desc.nim | ||
tx_gauge.nim | ||
tx_info.nim | ||
tx_item.nim | ||
tx_tabs.nim |