mirror of
https://github.com/status-im/nimbus-eth2.git
synced 2025-02-02 01:36:06 +00:00
03a147ab8d
In BlockPool, we keep the head state around, so it's trivial to restore the temporary state there and keep going as if nothing happened. This solves 3 problems: * stack space - the state copy on mainnet is huge * GC scanning - using stack space for state slows down the GC significantly * reckless copying - the copy itself takes a long time In state_sim, we'll do the same and allocate on heap - this helps a little with GC - without it, the collection of the temporary strings created with `toHex` while printing the json dominates the trace.