Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Schedule capella on mainnet! #5273

Merged
merged 3 commits into from
Mar 17, 2023
Merged

Schedule capella on mainnet! #5273

merged 3 commits into from
Mar 17, 2023

Conversation

g11tech
Copy link
Contributor

@g11tech g11tech commented Mar 16, 2023

@g11tech g11tech requested a review from a team as a code owner March 16, 2023 16:39
@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2023

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 6de3b8c Previous: 3d937ee Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 637.76 us/op 916.25 us/op 0.70
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 63.560 us/op 53.810 us/op 1.18
BLS verify - blst-native 1.4542 ms/op 1.2654 ms/op 1.15
BLS verifyMultipleSignatures 3 - blst-native 2.8339 ms/op 2.5854 ms/op 1.10
BLS verifyMultipleSignatures 8 - blst-native 6.3295 ms/op 5.5368 ms/op 1.14
BLS verifyMultipleSignatures 32 - blst-native 22.489 ms/op 20.005 ms/op 1.12
BLS aggregatePubkeys 32 - blst-native 29.222 us/op 26.915 us/op 1.09
BLS aggregatePubkeys 128 - blst-native 110.35 us/op 105.80 us/op 1.04
getAttestationsForBlock 74.361 ms/op 60.640 ms/op 1.23
isKnown best case - 1 super set check 302.00 ns/op 270.00 ns/op 1.12
isKnown normal case - 2 super set checks 285.00 ns/op 261.00 ns/op 1.09
isKnown worse case - 16 super set checks 273.00 ns/op 256.00 ns/op 1.07
CheckpointStateCache - add get delete 6.2780 us/op 5.7750 us/op 1.09
validate gossip signedAggregateAndProof - struct 3.0085 ms/op 2.8957 ms/op 1.04
validate gossip attestation - struct 1.4283 ms/op 1.3845 ms/op 1.03
pickEth1Vote - no votes 1.5174 ms/op 1.3991 ms/op 1.08
pickEth1Vote - max votes 15.159 ms/op 11.307 ms/op 1.34
pickEth1Vote - Eth1Data hashTreeRoot value x2048 10.712 ms/op 10.542 ms/op 1.02
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 19.247 ms/op 17.200 ms/op 1.12
pickEth1Vote - Eth1Data fastSerialize value x2048 814.29 us/op 875.70 us/op 0.93
pickEth1Vote - Eth1Data fastSerialize tree x2048 7.9108 ms/op 10.834 ms/op 0.73
bytes32 toHexString 750.00 ns/op 652.00 ns/op 1.15
bytes32 Buffer.toString(hex) 470.00 ns/op 498.00 ns/op 0.94
bytes32 Buffer.toString(hex) from Uint8Array 700.00 ns/op 689.00 ns/op 1.02
bytes32 Buffer.toString(hex) + 0x 471.00 ns/op 481.00 ns/op 0.98
Object access 1 prop 0.20900 ns/op 0.23100 ns/op 0.90
Map access 1 prop 0.18300 ns/op 0.18300 ns/op 1.00
Object get x1000 8.1790 ns/op 7.8700 ns/op 1.04
Map get x1000 0.66800 ns/op 0.69400 ns/op 0.96
Object set x1000 76.973 ns/op 88.857 ns/op 0.87
Map set x1000 58.835 ns/op 62.176 ns/op 0.95
Return object 10000 times 0.25940 ns/op 0.37580 ns/op 0.69
Throw Error 10000 times 4.7830 us/op 4.7290 us/op 1.01
fastMsgIdFn sha256 / 200 bytes 3.9130 us/op 3.8360 us/op 1.02
fastMsgIdFn h32 xxhash / 200 bytes 354.00 ns/op 343.00 ns/op 1.03
fastMsgIdFn h64 xxhash / 200 bytes 524.00 ns/op 532.00 ns/op 0.98
fastMsgIdFn sha256 / 1000 bytes 13.089 us/op 12.726 us/op 1.03
fastMsgIdFn h32 xxhash / 1000 bytes 492.00 ns/op 498.00 ns/op 0.99
fastMsgIdFn h64 xxhash / 1000 bytes 604.00 ns/op 603.00 ns/op 1.00
fastMsgIdFn sha256 / 10000 bytes 115.88 us/op 111.18 us/op 1.04
fastMsgIdFn h32 xxhash / 10000 bytes 2.2090 us/op 2.1370 us/op 1.03
fastMsgIdFn h64 xxhash / 10000 bytes 1.5790 us/op 1.5970 us/op 0.99
enrSubnets - fastDeserialize 64 bits 1.9570 us/op 1.9970 us/op 0.98
enrSubnets - ssz BitVector 64 bits 659.00 ns/op 690.00 ns/op 0.96
enrSubnets - fastDeserialize 4 bits 213.00 ns/op 235.00 ns/op 0.91
enrSubnets - ssz BitVector 4 bits 659.00 ns/op 686.00 ns/op 0.96
prioritizePeers score -10:0 att 32-0.1 sync 2-0 147.14 us/op 118.59 us/op 1.24
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 186.64 us/op 184.88 us/op 1.01
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 229.70 us/op 220.62 us/op 1.04
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 397.83 us/op 413.17 us/op 0.96
prioritizePeers score 0:0 att 64-1 sync 4-1 497.76 us/op 557.44 us/op 0.89
array of 16000 items push then shift 1.8207 us/op 1.8720 us/op 0.97
LinkedList of 16000 items push then shift 10.256 ns/op 12.662 ns/op 0.81
array of 16000 items push then pop 131.00 ns/op 128.98 ns/op 1.02
LinkedList of 16000 items push then pop 9.8970 ns/op 11.869 ns/op 0.83
array of 24000 items push then shift 2.6307 us/op 2.5959 us/op 1.01
LinkedList of 24000 items push then shift 10.331 ns/op 11.948 ns/op 0.86
array of 24000 items push then pop 91.641 ns/op 87.888 ns/op 1.04
LinkedList of 24000 items push then pop 9.8830 ns/op 8.9910 ns/op 1.10
intersect bitArray bitLen 8 14.248 ns/op 13.683 ns/op 1.04
intersect array and set length 8 111.59 ns/op 98.081 ns/op 1.14
intersect bitArray bitLen 128 47.361 ns/op 47.347 ns/op 1.00
intersect array and set length 128 1.3413 us/op 1.3322 us/op 1.01
Buffer.concat 32 items 2.9230 us/op 2.8680 us/op 1.02
Uint8Array.set 32 items 2.8330 us/op 2.7580 us/op 1.03
pass gossip attestations to forkchoice per slot 2.4478 ms/op 4.3230 ms/op 0.57
computeDeltas 3.0931 ms/op 4.0910 ms/op 0.76
computeProposerBoostScoreFromBalances 1.8508 ms/op 1.9507 ms/op 0.95
altair processAttestation - 250000 vs - 7PWei normalcase 2.4790 ms/op 2.9759 ms/op 0.83
altair processAttestation - 250000 vs - 7PWei worstcase 3.7430 ms/op 3.8141 ms/op 0.98
altair processAttestation - setStatus - 1/6 committees join 151.06 us/op 144.65 us/op 1.04
altair processAttestation - setStatus - 1/3 committees join 282.24 us/op 283.26 us/op 1.00
altair processAttestation - setStatus - 1/2 committees join 377.31 us/op 383.12 us/op 0.98
altair processAttestation - setStatus - 2/3 committees join 466.75 us/op 477.50 us/op 0.98
altair processAttestation - setStatus - 4/5 committees join 667.19 us/op 673.24 us/op 0.99
altair processAttestation - setStatus - 100% committees join 776.22 us/op 781.89 us/op 0.99
altair processBlock - 250000 vs - 7PWei normalcase 17.073 ms/op 20.176 ms/op 0.85
altair processBlock - 250000 vs - 7PWei normalcase hashState 25.883 ms/op 28.264 ms/op 0.92
altair processBlock - 250000 vs - 7PWei worstcase 57.074 ms/op 50.613 ms/op 1.13
altair processBlock - 250000 vs - 7PWei worstcase hashState 70.299 ms/op 69.434 ms/op 1.01
phase0 processBlock - 250000 vs - 7PWei normalcase 2.5200 ms/op 2.2903 ms/op 1.10
phase0 processBlock - 250000 vs - 7PWei worstcase 31.852 ms/op 30.797 ms/op 1.03
altair processEth1Data - 250000 vs - 7PWei normalcase 529.53 us/op 519.50 us/op 1.02
vc - 250000 eb 1 eth1 1 we 0 wn 0 - smpl 15 8.0670 us/op 8.4790 us/op 0.95
vc - 250000 eb 0.95 eth1 0.1 we 0.05 wn 0 - smpl 219 25.182 us/op 28.113 us/op 0.90
vc - 250000 eb 0.95 eth1 0.3 we 0.05 wn 0 - smpl 42 10.351 us/op 10.836 us/op 0.96
vc - 250000 eb 0.95 eth1 0.7 we 0.05 wn 0 - smpl 18 7.5880 us/op 8.8980 us/op 0.85
vc - 250000 eb 0.1 eth1 0.1 we 0 wn 0 - smpl 1020 101.96 us/op 111.10 us/op 0.92
vc - 250000 eb 0.03 eth1 0.03 we 0 wn 0 - smpl 11777 659.29 us/op 692.00 us/op 0.95
vc - 250000 eb 0.01 eth1 0.01 we 0 wn 0 - smpl 16384 954.19 us/op 975.63 us/op 0.98
vc - 250000 eb 0 eth1 0 we 0 wn 0 - smpl 16384 918.66 us/op 945.25 us/op 0.97
vc - 250000 eb 0 eth1 0 we 0 wn 0 nocache - smpl 16384 2.4051 ms/op 2.3955 ms/op 1.00
vc - 250000 eb 0 eth1 1 we 0 wn 0 - smpl 16384 1.5353 ms/op 1.4876 ms/op 1.03
vc - 250000 eb 0 eth1 1 we 0 wn 0 nocache - smpl 16384 3.9717 ms/op 3.9663 ms/op 1.00
Tree 40 250000 create 321.49 ms/op 335.93 ms/op 0.96
Tree 40 250000 get(125000) 192.83 ns/op 186.77 ns/op 1.03
Tree 40 250000 set(125000) 955.17 ns/op 1.0307 us/op 0.93
Tree 40 250000 toArray() 22.136 ms/op 21.252 ms/op 1.04
Tree 40 250000 iterate all - toArray() + loop 21.181 ms/op 21.202 ms/op 1.00
Tree 40 250000 iterate all - get(i) 74.985 ms/op 71.783 ms/op 1.04
MutableVector 250000 create 10.355 ms/op 9.6246 ms/op 1.08
MutableVector 250000 get(125000) 6.3660 ns/op 6.5830 ns/op 0.97
MutableVector 250000 set(125000) 272.43 ns/op 256.69 ns/op 1.06
MutableVector 250000 toArray() 2.9172 ms/op 2.8348 ms/op 1.03
MutableVector 250000 iterate all - toArray() + loop 2.7168 ms/op 3.0453 ms/op 0.89
MutableVector 250000 iterate all - get(i) 1.5136 ms/op 1.5293 ms/op 0.99
Array 250000 create 2.5470 ms/op 2.5692 ms/op 0.99
Array 250000 clone - spread 1.0848 ms/op 1.1627 ms/op 0.93
Array 250000 get(125000) 0.55900 ns/op 0.57500 ns/op 0.97
Array 250000 set(125000) 0.63600 ns/op 0.66500 ns/op 0.96
Array 250000 iterate all - loop 112.26 us/op 83.960 us/op 1.34
effectiveBalanceIncrements clone Uint8Array 300000 23.908 us/op 32.432 us/op 0.74
effectiveBalanceIncrements clone MutableVector 300000 345.00 ns/op 358.00 ns/op 0.96
effectiveBalanceIncrements rw all Uint8Array 300000 172.89 us/op 170.42 us/op 1.01
effectiveBalanceIncrements rw all MutableVector 300000 79.179 ms/op 81.485 ms/op 0.97
phase0 afterProcessEpoch - 250000 vs - 7PWei 114.42 ms/op 113.13 ms/op 1.01
phase0 beforeProcessEpoch - 250000 vs - 7PWei 42.227 ms/op 42.953 ms/op 0.98
altair processEpoch - mainnet_e81889 331.56 ms/op 299.27 ms/op 1.11
mainnet_e81889 - altair beforeProcessEpoch 65.310 ms/op 48.970 ms/op 1.33
mainnet_e81889 - altair processJustificationAndFinalization 18.193 us/op 17.468 us/op 1.04
mainnet_e81889 - altair processInactivityUpdates 6.1268 ms/op 6.0179 ms/op 1.02
mainnet_e81889 - altair processRewardsAndPenalties 72.493 ms/op 53.221 ms/op 1.36
mainnet_e81889 - altair processRegistryUpdates 2.7380 us/op 3.0820 us/op 0.89
mainnet_e81889 - altair processSlashings 458.00 ns/op 550.00 ns/op 0.83
mainnet_e81889 - altair processEth1DataReset 738.00 ns/op 534.00 ns/op 1.38
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.3178 ms/op 1.3053 ms/op 1.01
mainnet_e81889 - altair processSlashingsReset 5.4280 us/op 4.9780 us/op 1.09
mainnet_e81889 - altair processRandaoMixesReset 6.5770 us/op 4.2230 us/op 1.56
mainnet_e81889 - altair processHistoricalRootsUpdate 1.0890 us/op 641.00 ns/op 1.70
mainnet_e81889 - altair processParticipationFlagUpdates 2.7390 us/op 2.5730 us/op 1.06
mainnet_e81889 - altair processSyncCommitteeUpdates 1.0760 us/op 602.00 ns/op 1.79
mainnet_e81889 - altair afterProcessEpoch 125.81 ms/op 120.21 ms/op 1.05
phase0 processEpoch - mainnet_e58758 373.13 ms/op 315.74 ms/op 1.18
mainnet_e58758 - phase0 beforeProcessEpoch 143.72 ms/op 122.21 ms/op 1.18
mainnet_e58758 - phase0 processJustificationAndFinalization 17.601 us/op 16.893 us/op 1.04
mainnet_e58758 - phase0 processRewardsAndPenalties 68.380 ms/op 54.208 ms/op 1.26
mainnet_e58758 - phase0 processRegistryUpdates 7.6860 us/op 7.7590 us/op 0.99
mainnet_e58758 - phase0 processSlashings 718.00 ns/op 483.00 ns/op 1.49
mainnet_e58758 - phase0 processEth1DataReset 560.00 ns/op 473.00 ns/op 1.18
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.2862 ms/op 993.01 us/op 1.30
mainnet_e58758 - phase0 processSlashingsReset 4.2550 us/op 2.8920 us/op 1.47
mainnet_e58758 - phase0 processRandaoMixesReset 5.0740 us/op 4.3850 us/op 1.16
mainnet_e58758 - phase0 processHistoricalRootsUpdate 672.00 ns/op 630.00 ns/op 1.07
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.4060 us/op 4.2210 us/op 1.04
mainnet_e58758 - phase0 afterProcessEpoch 112.10 ms/op 98.475 ms/op 1.14
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.3525 ms/op 1.2350 ms/op 1.10
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.6483 ms/op 1.4288 ms/op 1.15
altair processInactivityUpdates - 250000 normalcase 25.023 ms/op 21.453 ms/op 1.17
altair processInactivityUpdates - 250000 worstcase 24.471 ms/op 20.043 ms/op 1.22
phase0 processRegistryUpdates - 250000 normalcase 6.8510 us/op 6.9780 us/op 0.98
phase0 processRegistryUpdates - 250000 badcase_full_deposits 296.75 us/op 275.29 us/op 1.08
phase0 processRegistryUpdates - 250000 worstcase 0.5 137.34 ms/op 118.33 ms/op 1.16
altair processRewardsAndPenalties - 250000 normalcase 65.100 ms/op 50.878 ms/op 1.28
altair processRewardsAndPenalties - 250000 worstcase 69.927 ms/op 46.949 ms/op 1.49
phase0 getAttestationDeltas - 250000 normalcase 6.8533 ms/op 6.6371 ms/op 1.03
phase0 getAttestationDeltas - 250000 worstcase 6.8357 ms/op 6.6008 ms/op 1.04
phase0 processSlashings - 250000 worstcase 3.8797 ms/op 3.5035 ms/op 1.11
altair processSyncCommitteeUpdates - 250000 185.87 ms/op 174.36 ms/op 1.07
BeaconState.hashTreeRoot - No change 274.00 ns/op 279.00 ns/op 0.98
BeaconState.hashTreeRoot - 1 full validator 59.620 us/op 52.032 us/op 1.15
BeaconState.hashTreeRoot - 32 full validator 498.41 us/op 525.04 us/op 0.95
BeaconState.hashTreeRoot - 512 full validator 5.1798 ms/op 5.1002 ms/op 1.02
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 67.571 us/op 62.965 us/op 1.07
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 992.42 us/op 924.02 us/op 1.07
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 12.363 ms/op 11.600 ms/op 1.07
BeaconState.hashTreeRoot - 1 balances 52.761 us/op 49.889 us/op 1.06
BeaconState.hashTreeRoot - 32 balances 458.71 us/op 453.94 us/op 1.01
BeaconState.hashTreeRoot - 512 balances 4.5994 ms/op 4.5699 ms/op 1.01
BeaconState.hashTreeRoot - 250000 balances 73.647 ms/op 75.400 ms/op 0.98
aggregationBits - 2048 els - zipIndexesInBitList 18.420 us/op 17.813 us/op 1.03
regular array get 100000 times 47.474 us/op 37.224 us/op 1.28
wrappedArray get 100000 times 44.861 us/op 32.989 us/op 1.36
arrayWithProxy get 100000 times 16.399 ms/op 16.022 ms/op 1.02
ssz.Root.equals 593.00 ns/op 565.00 ns/op 1.05
byteArrayEquals 591.00 ns/op 554.00 ns/op 1.07
shuffle list - 16384 els 7.1539 ms/op 6.8848 ms/op 1.04
shuffle list - 250000 els 106.71 ms/op 101.98 ms/op 1.05
processSlot - 1 slots 8.8790 us/op 9.3360 us/op 0.95
processSlot - 32 slots 1.3776 ms/op 1.4251 ms/op 0.97
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 207.96 us/op 207.39 us/op 1.00
getCommitteeAssignments - req 1 vs - 250000 vc 3.0414 ms/op 2.9250 ms/op 1.04
getCommitteeAssignments - req 100 vs - 250000 vc 4.3418 ms/op 4.2163 ms/op 1.03
getCommitteeAssignments - req 1000 vs - 250000 vc 4.6503 ms/op 4.6123 ms/op 1.01
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.1000 ns/op 4.8200 ns/op 1.06
state getBlockRootAtSlot - 250000 vs - 7PWei 1.0334 us/op 836.53 ns/op 1.24
computeProposers - vc 250000 11.375 ms/op 10.694 ms/op 1.06
computeEpochShuffling - vc 250000 108.61 ms/op 103.68 ms/op 1.05
getNextSyncCommittee - vc 250000 179.23 ms/op 178.22 ms/op 1.01

by benchmarkbot/action

@g11tech g11tech enabled auto-merge (squash) March 16, 2023 17:06
nflaig
nflaig previously approved these changes Mar 16, 2023
Copy link
Member

@nflaig nflaig left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🦉

@g11tech g11tech disabled auto-merge March 16, 2023 17:08
@g11tech g11tech merged commit 3e254d5 into unstable Mar 17, 2023
@g11tech g11tech deleted the mainnet-capella branch March 17, 2023 06:32
@philknows
Copy link
Member

Referencing consensus-spec PR: ethereum/consensus-specs#3300

@philknows philknows added this to the v1.7.0 milestone Mar 18, 2023
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.7.0 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants