Pack attestations into blocks in parallel (#2307)

## Proposed Changes

Use two instances of max cover when packing attestations into blocks: one for the previous epoch, and one for the current epoch. This reduces the amount of computation done by roughly half due to the `O(n^2)` running time of max cover (`2 * (n/2)^2 = n^2/2`). This should help alleviate some load on block proposal, particularly on Prater.
This commit is contained in:
Michael Sproul
2021-04-13 05:27:42 +00:00
parent c1203f5e52
commit 3b901dc5ec
8 changed files with 191 additions and 78 deletions

4
Cargo.lock generated
View File

@@ -4400,8 +4400,12 @@ dependencies = [
"eth2_ssz",
"eth2_ssz_derive",
"int_to_bytes",
"itertools 0.10.0",
"lazy_static",
"lighthouse_metrics",
"parking_lot",
"rand 0.7.3",
"rayon",
"serde",
"serde_derive",
"state_processing",