lighthouse/beacon_node
Paul Hauner fa6ad1a11a Deduplicate block root computation (#3590)
## Issue Addressed

NA

## Proposed Changes

This PR removes duplicated block root computation.

Computing the `SignedBeaconBlock::canonical_root` has become more expensive since the merge as we need to compute the merke root of each transaction inside an `ExecutionPayload`.

Computing the root for [a mainnet block](https://beaconcha.in/slot/4704236) is taking ~10ms on my i7-8700K CPU @ 3.70GHz (no sha extensions). Given that our median seen-to-imported time for blocks is presently 300-400ms, removing a few duplicated block roots (~30ms) could represent an easy 10% improvement. When we consider that the seen-to-imported times include operations *after* the block has been placed in the early attester cache, we could expect the 30ms to be more significant WRT our seen-to-attestable times.

## Additional Info

NA
2022-09-23 03:52:42 +00:00
..
beacon_chain Deduplicate block root computation (#3590) 2022-09-23 03:52:42 +00:00
builder_client
client Separate committee subscriptions queue (#3508) 2022-08-30 05:47:31 +00:00
eth1 Tidy eth1/deposit contract logging (#3397) 2022-08-01 07:20:43 +00:00
execution_layer Deduplicate block root computation (#3590) 2022-09-23 03:52:42 +00:00
genesis
http_api Deduplicate block root computation (#3590) 2022-09-23 03:52:42 +00:00
http_metrics
lighthouse_network Subscribe to subnets only when needed (#3419) 2022-09-05 00:22:48 +00:00
network Deduplicate block root computation (#3590) 2022-09-23 03:52:42 +00:00
operation_pool Refactor op pool for speed and correctness (#3312) 2022-08-29 09:10:26 +00:00
src Refined payload pruning (#3587) 2022-09-19 07:58:49 +00:00
store Refined payload pruning (#3587) 2022-09-19 07:58:49 +00:00
tests
timer
Cargo.toml v3.1.1 (#3585) 2022-09-22 06:08:52 +00:00