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

Remove GENESIS_NONZERO condition #5199

Merged
merged 1 commit into from
Feb 23, 2023
Merged

Conversation

dapplion
Copy link
Contributor

Motivation

assertPeerRelevance contains a condition that does not appear necessary.

Description

  • Drop GENESIS_NONZERO condition in assertPeerRelevance fn

Closes #5186

@github-actions
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 3083390 Previous: 960b8c5 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 884.48 us/op 562.82 us/op 1.57
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 46.463 us/op 48.552 us/op 0.96
BLS verify - blst-native 1.2455 ms/op 1.2425 ms/op 1.00
BLS verifyMultipleSignatures 3 - blst-native 2.5351 ms/op 2.5587 ms/op 0.99
BLS verifyMultipleSignatures 8 - blst-native 5.5514 ms/op 5.5324 ms/op 1.00
BLS verifyMultipleSignatures 32 - blst-native 19.465 ms/op 19.900 ms/op 0.98
BLS aggregatePubkeys 32 - blst-native 26.411 us/op 26.297 us/op 1.00
BLS aggregatePubkeys 128 - blst-native 102.55 us/op 102.54 us/op 1.00
getAttestationsForBlock 57.849 ms/op 62.333 ms/op 0.93
isKnown best case - 1 super set check 270.00 ns/op 284.00 ns/op 0.95
isKnown normal case - 2 super set checks 249.00 ns/op 270.00 ns/op 0.92
isKnown worse case - 16 super set checks 267.00 ns/op 270.00 ns/op 0.99
CheckpointStateCache - add get delete 5.2380 us/op 5.7660 us/op 0.91
validate gossip signedAggregateAndProof - struct 2.7654 ms/op 2.8605 ms/op 0.97
validate gossip attestation - struct 1.3567 ms/op 1.3571 ms/op 1.00
pickEth1Vote - no votes 1.3212 ms/op 1.3628 ms/op 0.97
pickEth1Vote - max votes 9.0122 ms/op 12.590 ms/op 0.72
pickEth1Vote - Eth1Data hashTreeRoot value x2048 9.2397 ms/op 10.231 ms/op 0.90
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 13.941 ms/op 19.934 ms/op 0.70
pickEth1Vote - Eth1Data fastSerialize value x2048 677.90 us/op 819.78 us/op 0.83
pickEth1Vote - Eth1Data fastSerialize tree x2048 8.2194 ms/op 9.0167 ms/op 0.91
bytes32 toHexString 504.00 ns/op 723.00 ns/op 0.70
bytes32 Buffer.toString(hex) 342.00 ns/op 421.00 ns/op 0.81
bytes32 Buffer.toString(hex) from Uint8Array 579.00 ns/op 657.00 ns/op 0.88
bytes32 Buffer.toString(hex) + 0x 367.00 ns/op 449.00 ns/op 0.82
Object access 1 prop 0.17500 ns/op 0.20400 ns/op 0.86
Map access 1 prop 0.16500 ns/op 0.19200 ns/op 0.86
Object get x1000 6.9490 ns/op 7.6850 ns/op 0.90
Map get x1000 0.62800 ns/op 0.60300 ns/op 1.04
Object set x1000 60.279 ns/op 77.210 ns/op 0.78
Map set x1000 48.029 ns/op 56.308 ns/op 0.85
Return object 10000 times 0.24870 ns/op 0.25910 ns/op 0.96
Throw Error 10000 times 4.3019 us/op 4.4641 us/op 0.96
fastMsgIdFn sha256 / 200 bytes 3.6260 us/op 3.7260 us/op 0.97
fastMsgIdFn h32 xxhash / 200 bytes 315.00 ns/op 314.00 ns/op 1.00
fastMsgIdFn h64 xxhash / 200 bytes 463.00 ns/op 472.00 ns/op 0.98
fastMsgIdFn sha256 / 1000 bytes 12.030 us/op 12.291 us/op 0.98
fastMsgIdFn h32 xxhash / 1000 bytes 448.00 ns/op 469.00 ns/op 0.96
fastMsgIdFn h64 xxhash / 1000 bytes 510.00 ns/op 558.00 ns/op 0.91
fastMsgIdFn sha256 / 10000 bytes 108.90 us/op 109.66 us/op 0.99
fastMsgIdFn h32 xxhash / 10000 bytes 1.9650 us/op 2.0950 us/op 0.94
fastMsgIdFn h64 xxhash / 10000 bytes 1.3980 us/op 1.5260 us/op 0.92
enrSubnets - fastDeserialize 64 bits 1.3350 us/op 2.0130 us/op 0.66
enrSubnets - ssz BitVector 64 bits 495.00 ns/op 658.00 ns/op 0.75
enrSubnets - fastDeserialize 4 bits 177.00 ns/op 217.00 ns/op 0.82
enrSubnets - ssz BitVector 4 bits 495.00 ns/op 635.00 ns/op 0.78
prioritizePeers score -10:0 att 32-0.1 sync 2-0 97.976 us/op 113.94 us/op 0.86
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 129.63 us/op 143.23 us/op 0.91
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 188.28 us/op 214.28 us/op 0.88
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 348.22 us/op 351.70 us/op 0.99
prioritizePeers score 0:0 att 64-1 sync 4-1 371.89 us/op 392.72 us/op 0.95
array of 16000 items push then shift 1.6540 us/op 1.7637 us/op 0.94
LinkedList of 16000 items push then shift 8.7830 ns/op 9.5070 ns/op 0.92
array of 16000 items push then pop 86.232 ns/op 117.21 ns/op 0.74
LinkedList of 16000 items push then pop 8.7430 ns/op 9.2550 ns/op 0.94
array of 24000 items push then shift 2.3813 us/op 2.5721 us/op 0.93
LinkedList of 24000 items push then shift 8.8470 ns/op 10.507 ns/op 0.84
array of 24000 items push then pop 79.311 ns/op 86.830 ns/op 0.91
LinkedList of 24000 items push then pop 8.8010 ns/op 9.2940 ns/op 0.95
intersect bitArray bitLen 8 13.500 ns/op 14.503 ns/op 0.93
intersect array and set length 8 77.480 ns/op 94.345 ns/op 0.82
intersect bitArray bitLen 128 44.781 ns/op 49.869 ns/op 0.90
intersect array and set length 128 1.0614 us/op 1.2482 us/op 0.85
Buffer.concat 32 items 2.6600 us/op 3.0290 us/op 0.88
Uint8Array.set 32 items 2.7870 us/op 2.9550 us/op 0.94
pass gossip attestations to forkchoice per slot 2.3652 ms/op 2.5869 ms/op 0.91
computeDeltas 3.0993 ms/op 3.2905 ms/op 0.94
computeProposerBoostScoreFromBalances 1.8363 ms/op 1.8832 ms/op 0.98
altair processAttestation - 250000 vs - 7PWei normalcase 2.2550 ms/op 3.1906 ms/op 0.71
altair processAttestation - 250000 vs - 7PWei worstcase 3.6211 ms/op 5.2901 ms/op 0.68
altair processAttestation - setStatus - 1/6 committees join 148.95 us/op 148.53 us/op 1.00
altair processAttestation - setStatus - 1/3 committees join 289.58 us/op 286.32 us/op 1.01
altair processAttestation - setStatus - 1/2 committees join 383.37 us/op 385.35 us/op 0.99
altair processAttestation - setStatus - 2/3 committees join 481.87 us/op 480.46 us/op 1.00
altair processAttestation - setStatus - 4/5 committees join 684.43 us/op 696.75 us/op 0.98
altair processAttestation - setStatus - 100% committees join 780.52 us/op 849.83 us/op 0.92
altair processBlock - 250000 vs - 7PWei normalcase 16.444 ms/op 20.244 ms/op 0.81
altair processBlock - 250000 vs - 7PWei normalcase hashState 26.157 ms/op 31.036 ms/op 0.84
altair processBlock - 250000 vs - 7PWei worstcase 49.323 ms/op 57.579 ms/op 0.86
altair processBlock - 250000 vs - 7PWei worstcase hashState 69.502 ms/op 81.982 ms/op 0.85
phase0 processBlock - 250000 vs - 7PWei normalcase 2.0264 ms/op 2.3359 ms/op 0.87
phase0 processBlock - 250000 vs - 7PWei worstcase 29.035 ms/op 32.284 ms/op 0.90
altair processEth1Data - 250000 vs - 7PWei normalcase 474.85 us/op 604.78 us/op 0.79
vc - 250000 eb 1 eth1 1 we 0 wn 0 - smpl 15 8.6600 us/op 13.144 us/op 0.66
vc - 250000 eb 0.95 eth1 0.1 we 0.05 wn 0 - smpl 219 25.427 us/op 40.299 us/op 0.63
vc - 250000 eb 0.95 eth1 0.3 we 0.05 wn 0 - smpl 42 10.367 us/op 16.226 us/op 0.64
vc - 250000 eb 0.95 eth1 0.7 we 0.05 wn 0 - smpl 18 7.9760 us/op 14.273 us/op 0.56
vc - 250000 eb 0.1 eth1 0.1 we 0 wn 0 - smpl 1020 82.577 us/op 133.75 us/op 0.62
vc - 250000 eb 0.03 eth1 0.03 we 0 wn 0 - smpl 11777 665.18 us/op 683.82 us/op 0.97
vc - 250000 eb 0.01 eth1 0.01 we 0 wn 0 - smpl 16384 894.37 us/op 916.60 us/op 0.98
vc - 250000 eb 0 eth1 0 we 0 wn 0 - smpl 16384 882.88 us/op 913.12 us/op 0.97
vc - 250000 eb 0 eth1 0 we 0 wn 0 nocache - smpl 16384 2.3715 ms/op 2.5492 ms/op 0.93
vc - 250000 eb 0 eth1 1 we 0 wn 0 - smpl 16384 1.6833 ms/op 1.5453 ms/op 1.09
vc - 250000 eb 0 eth1 1 we 0 wn 0 nocache - smpl 16384 3.9242 ms/op 4.1465 ms/op 0.95
Tree 40 250000 create 296.70 ms/op 320.67 ms/op 0.93
Tree 40 250000 get(125000) 178.57 ns/op 187.50 ns/op 0.95
Tree 40 250000 set(125000) 879.00 ns/op 969.04 ns/op 0.91
Tree 40 250000 toArray() 18.054 ms/op 21.177 ms/op 0.85
Tree 40 250000 iterate all - toArray() + loop 17.860 ms/op 21.301 ms/op 0.84
Tree 40 250000 iterate all - get(i) 66.756 ms/op 71.682 ms/op 0.93
MutableVector 250000 create 10.228 ms/op 10.972 ms/op 0.93
MutableVector 250000 get(125000) 6.3640 ns/op 6.6100 ns/op 0.96
MutableVector 250000 set(125000) 272.15 ns/op 277.59 ns/op 0.98
MutableVector 250000 toArray() 2.9798 ms/op 2.9426 ms/op 1.01
MutableVector 250000 iterate all - toArray() + loop 2.9104 ms/op 3.0028 ms/op 0.97
MutableVector 250000 iterate all - get(i) 1.5226 ms/op 1.5669 ms/op 0.97
Array 250000 create 2.4584 ms/op 3.0969 ms/op 0.79
Array 250000 clone - spread 1.0617 ms/op 1.0874 ms/op 0.98
Array 250000 get(125000) 0.52300 ns/op 0.58700 ns/op 0.89
Array 250000 set(125000) 0.60800 ns/op 0.62700 ns/op 0.97
Array 250000 iterate all - loop 109.33 us/op 112.57 us/op 0.97
effectiveBalanceIncrements clone Uint8Array 300000 23.296 us/op 29.012 us/op 0.80
effectiveBalanceIncrements clone MutableVector 300000 328.00 ns/op 319.00 ns/op 1.03
effectiveBalanceIncrements rw all Uint8Array 300000 168.73 us/op 171.98 us/op 0.98
effectiveBalanceIncrements rw all MutableVector 300000 77.246 ms/op 82.846 ms/op 0.93
phase0 afterProcessEpoch - 250000 vs - 7PWei 112.22 ms/op 115.98 ms/op 0.97
phase0 beforeProcessEpoch - 250000 vs - 7PWei 41.658 ms/op 36.756 ms/op 1.13
altair processEpoch - mainnet_e81889 302.19 ms/op 331.62 ms/op 0.91
mainnet_e81889 - altair beforeProcessEpoch 65.165 ms/op 68.938 ms/op 0.95
mainnet_e81889 - altair processJustificationAndFinalization 17.891 us/op 19.063 us/op 0.94
mainnet_e81889 - altair processInactivityUpdates 6.1468 ms/op 6.0771 ms/op 1.01
mainnet_e81889 - altair processRewardsAndPenalties 68.874 ms/op 69.454 ms/op 0.99
mainnet_e81889 - altair processRegistryUpdates 2.3140 us/op 2.9800 us/op 0.78
mainnet_e81889 - altair processSlashings 710.00 ns/op 414.00 ns/op 1.71
mainnet_e81889 - altair processEth1DataReset 639.00 ns/op 500.00 ns/op 1.28
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.2597 ms/op 1.2795 ms/op 0.98
mainnet_e81889 - altair processSlashingsReset 4.9320 us/op 3.9910 us/op 1.24
mainnet_e81889 - altair processRandaoMixesReset 4.4260 us/op 5.8340 us/op 0.76
mainnet_e81889 - altair processHistoricalRootsUpdate 1.2190 us/op 926.00 ns/op 1.32
mainnet_e81889 - altair processParticipationFlagUpdates 2.5940 us/op 4.5000 us/op 0.58
mainnet_e81889 - altair processSyncCommitteeUpdates 921.00 ns/op 1.3430 us/op 0.69
mainnet_e81889 - altair afterProcessEpoch 130.64 ms/op 133.62 ms/op 0.98
phase0 processEpoch - mainnet_e58758 377.38 ms/op 374.47 ms/op 1.01
mainnet_e58758 - phase0 beforeProcessEpoch 152.92 ms/op 142.73 ms/op 1.07
mainnet_e58758 - phase0 processJustificationAndFinalization 19.130 us/op 18.556 us/op 1.03
mainnet_e58758 - phase0 processRewardsAndPenalties 66.397 ms/op 64.917 ms/op 1.02
mainnet_e58758 - phase0 processRegistryUpdates 13.002 us/op 8.2410 us/op 1.58
mainnet_e58758 - phase0 processSlashings 485.00 ns/op 483.00 ns/op 1.00
mainnet_e58758 - phase0 processEth1DataReset 587.00 ns/op 492.00 ns/op 1.19
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.0933 ms/op 1.0327 ms/op 1.06
mainnet_e58758 - phase0 processSlashingsReset 7.0470 us/op 3.8600 us/op 1.83
mainnet_e58758 - phase0 processRandaoMixesReset 5.2120 us/op 5.6020 us/op 0.93
mainnet_e58758 - phase0 processHistoricalRootsUpdate 597.00 ns/op 554.00 ns/op 1.08
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.7060 us/op 4.1800 us/op 1.13
mainnet_e58758 - phase0 afterProcessEpoch 100.56 ms/op 101.44 ms/op 0.99
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.2777 ms/op 1.2717 ms/op 1.00
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.5850 ms/op 1.5382 ms/op 1.03
altair processInactivityUpdates - 250000 normalcase 23.170 ms/op 18.408 ms/op 1.26
altair processInactivityUpdates - 250000 worstcase 28.822 ms/op 24.649 ms/op 1.17
phase0 processRegistryUpdates - 250000 normalcase 7.5520 us/op 6.0660 us/op 1.24
phase0 processRegistryUpdates - 250000 badcase_full_deposits 270.18 us/op 262.80 us/op 1.03
phase0 processRegistryUpdates - 250000 worstcase 0.5 131.89 ms/op 118.96 ms/op 1.11
altair processRewardsAndPenalties - 250000 normalcase 66.503 ms/op 62.680 ms/op 1.06
altair processRewardsAndPenalties - 250000 worstcase 71.384 ms/op 64.165 ms/op 1.11
phase0 getAttestationDeltas - 250000 normalcase 7.1222 ms/op 7.9350 ms/op 0.90
phase0 getAttestationDeltas - 250000 worstcase 6.7656 ms/op 7.1474 ms/op 0.95
phase0 processSlashings - 250000 worstcase 3.6541 ms/op 3.7115 ms/op 0.98
altair processSyncCommitteeUpdates - 250000 191.37 ms/op 187.35 ms/op 1.02
BeaconState.hashTreeRoot - No change 273.00 ns/op 266.00 ns/op 1.03
BeaconState.hashTreeRoot - 1 full validator 55.703 us/op 52.336 us/op 1.06
BeaconState.hashTreeRoot - 32 full validator 502.08 us/op 675.82 us/op 0.74
BeaconState.hashTreeRoot - 512 full validator 6.2510 ms/op 5.1980 ms/op 1.20
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 65.482 us/op 65.259 us/op 1.00
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.0083 ms/op 1.0596 ms/op 0.95
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 12.309 ms/op 11.999 ms/op 1.03
BeaconState.hashTreeRoot - 1 balances 54.459 us/op 50.152 us/op 1.09
BeaconState.hashTreeRoot - 32 balances 459.16 us/op 457.70 us/op 1.00
BeaconState.hashTreeRoot - 512 balances 4.5791 ms/op 4.6391 ms/op 0.99
BeaconState.hashTreeRoot - 250000 balances 77.310 ms/op 80.532 ms/op 0.96
aggregationBits - 2048 els - zipIndexesInBitList 17.806 us/op 18.707 us/op 0.95
regular array get 100000 times 34.818 us/op 34.514 us/op 1.01
wrappedArray get 100000 times 43.626 us/op 36.897 us/op 1.18
arrayWithProxy get 100000 times 16.516 ms/op 16.514 ms/op 1.00
ssz.Root.equals 568.00 ns/op 588.00 ns/op 0.97
byteArrayEquals 573.00 ns/op 583.00 ns/op 0.98
shuffle list - 16384 els 7.1248 ms/op 7.1690 ms/op 0.99
shuffle list - 250000 els 103.39 ms/op 103.86 ms/op 1.00
processSlot - 1 slots 9.1980 us/op 9.2420 us/op 1.00
processSlot - 32 slots 1.4268 ms/op 1.4494 ms/op 0.98
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 209.82 us/op 217.17 us/op 0.97
getCommitteeAssignments - req 1 vs - 250000 vc 2.9587 ms/op 3.0168 ms/op 0.98
getCommitteeAssignments - req 100 vs - 250000 vc 4.2157 ms/op 4.2964 ms/op 0.98
getCommitteeAssignments - req 1000 vs - 250000 vc 4.5368 ms/op 4.6852 ms/op 0.97
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.9000 ns/op 5.2900 ns/op 0.93
state getBlockRootAtSlot - 250000 vs - 7PWei 596.60 ns/op 642.91 ns/op 0.93
computeProposers - vc 250000 11.091 ms/op 11.735 ms/op 0.95
computeEpochShuffling - vc 250000 106.61 ms/op 108.27 ms/op 0.98
getNextSyncCommittee - vc 250000 182.38 ms/op 188.76 ms/op 0.97

by benchmarkbot/action

@twoeths twoeths merged commit 959a606 into unstable Feb 23, 2023
@twoeths twoeths deleted the dapplion/genesis-non-zero branch February 23, 2023 06:53
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.6.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.

Lodestar flags nimbus as irrelevant peer on hive runs
3 participants