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. |
||
---|---|---|
.. | ||
fork_choice_rule | ||
.gitignore | ||
serialized_sizes.nim | ||
serialized_sizes.nim.cfg | ||
state_sim.nim | ||
state_sim.nim.cfg |