nimbus-eth2/beacon_chain
Jacek Sieka 03a147ab8d
avoid state copy in state transition (#930)
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.
2020-04-26 21:13:33 +02:00
..
2019-09-02 22:14:18 +03:00
2020-04-24 09:16:11 +02:00
2020-04-22 07:53:02 +02:00
2020-04-16 01:01:18 +03:00
2020-04-22 07:53:02 +02:00
2020-03-11 17:26:30 +00:00
2020-02-07 08:13:38 +01:00
2020-04-24 09:16:11 +02:00
2020-04-22 07:53:02 +02:00