nimbus-eth2/beacon_chain/fork_choice
Etan Kissling 1bd5819dad
cache head block eligibility for fork choice (#6076)
When there are long periods of non-finality, `nodeIsViableForHead` has
been observed to consume significant time as it repeatedly walks the
non-finalized check graph as part of determining what heads are eligible
for fork choice. Caching the result resolves that.

Overall, it may still be better to prune fork choice more aggressively
when finality advances, to fully avoid the case specced out using the
linear scan. The current implementation is very close to spec, though,
so such a change should not be introduced without thorough testing.

The simple cache should allow significantly better performance on Goerli
while the network is still supported (Mid April).
2024-03-15 22:48:18 +01:00
..
README.md update some consensus-spec URLs to v1.4.0-beta.1 (#5429) 2023-09-14 18:23:59 +00:00
fork_choice.nim automated consensus spec URL updating to v1.4.0 (#6074) 2024-03-14 07:26:36 +01:00
fork_choice_types.nim cache head block eligibility for fork choice (#6076) 2024-03-15 22:48:18 +01:00
proto_array.nim cache head block eligibility for fork choice (#6076) 2024-03-15 22:48:18 +01:00