lighthouse/beacon_node/network/src
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_processor Deduplicate block root computation (#3590) 2022-09-23 03:52:42 +00:00
router Remove unused method in HandlerNetworkContext (#3299) 2022-07-04 02:56:14 +00:00
service Filter non global ips from discovery (#3023) 2022-03-02 03:14:27 +00:00
subnet_service Subscribe to subnets only when needed (#3419) 2022-09-05 00:22:48 +00:00
sync Deduplicate block root computation (#3590) 2022-09-23 03:52:42 +00:00
error.rs Rename eth2_libp2p to lighthouse_network (#2702) 2021-10-19 00:30:39 +00:00
lib.rs Separate committee subscriptions queue (#3508) 2022-08-30 05:47:31 +00:00
metrics.rs Support histogram buckets (#3391) 2022-09-13 01:57:44 +00:00
nat.rs rust 1.53.0 updates (#2411) 2021-06-18 05:58:01 +00:00
persisted_dht.rs Rename eth2_libp2p to lighthouse_network (#2702) 2021-10-19 00:30:39 +00:00
service.rs Separate committee subscriptions queue (#3508) 2022-08-30 05:47:31 +00:00
status.rs Use async code when interacting with EL (#3244) 2022-07-03 05:36:50 +00:00