nimbus-eth2/beacon_chain
Jacek Sieka 7c0b4d28d2 speed up reward/penalty calculation
Calculating rewards/penalties is slow due to how we compute sets of
attestations validators then use the sets for inclusion checks, to see
who attested. The dominant function during validated block processing /
epoch processing is hash set building and lookup.

This PR inverts the flow by removing the sets and creating a single
large validator status list, then applying all relevant state
attestations, then updating rewards and penalties.

This provides a 10x speedup to epoch processing which in turn speeds up
both empty slot and block processing - for example, on startup, we
replay all non-finalized blocks to prime fork choice - the same when
validating attestations or replaying states on reorg.
2020-10-23 19:23:36 +03:00
..
2020-10-23 19:23:36 +03:00
2019-09-02 22:14:18 +03:00
2020-10-05 22:19:50 +03:00
2020-08-19 10:09:06 +03:00
2020-09-14 14:50:03 +00:00
2020-10-20 15:01:21 +02:00
2020-10-05 22:19:50 +03:00
2020-07-16 15:16:51 +02:00