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

Set maxPeers default > targetPeers #4606

Merged
merged 1 commit into from Oct 5, 2022
Merged

Conversation

dapplion
Copy link
Contributor

Motivation

Description

maxPeers must be > targetPeers. However the maxPeers default is hardcoded.

Closes #4592

@github-actions
Copy link
Contributor

github-actions bot commented Oct 3, 2022

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 5175c1d Previous: 3df7e2b Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.2703 ms/op 2.2460 ms/op 1.01
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 79.393 us/op 92.068 us/op 0.86
BLS verify - blst-native 2.0696 ms/op 2.7306 ms/op 0.76
BLS verifyMultipleSignatures 3 - blst-native 4.3729 ms/op 5.7843 ms/op 0.76
BLS verifyMultipleSignatures 8 - blst-native 9.3480 ms/op 12.182 ms/op 0.77
BLS verifyMultipleSignatures 32 - blst-native 34.568 ms/op 44.871 ms/op 0.77
BLS aggregatePubkeys 32 - blst-native 46.248 us/op 59.810 us/op 0.77
BLS aggregatePubkeys 128 - blst-native 182.18 us/op 241.96 us/op 0.75
getAttestationsForBlock 97.679 ms/op 109.45 ms/op 0.89
isKnown best case - 1 super set check 508.00 ns/op 522.00 ns/op 0.97
isKnown normal case - 2 super set checks 497.00 ns/op 516.00 ns/op 0.96
isKnown worse case - 16 super set checks 470.00 ns/op 524.00 ns/op 0.90
CheckpointStateCache - add get delete 10.893 us/op 11.490 us/op 0.95
validate gossip signedAggregateAndProof - struct 5.3044 ms/op 6.5009 ms/op 0.82
validate gossip attestation - struct 2.4252 ms/op 2.9810 ms/op 0.81
pickEth1Vote - no votes 2.5275 ms/op 2.5382 ms/op 1.00
pickEth1Vote - max votes 23.179 ms/op 22.973 ms/op 1.01
pickEth1Vote - Eth1Data hashTreeRoot value x2048 13.197 ms/op 14.796 ms/op 0.89
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 22.320 ms/op 24.046 ms/op 0.93
pickEth1Vote - Eth1Data fastSerialize value x2048 1.8288 ms/op 1.8909 ms/op 0.97
pickEth1Vote - Eth1Data fastSerialize tree x2048 15.183 ms/op 15.100 ms/op 1.01
bytes32 toHexString 1.2330 us/op 1.2980 us/op 0.95
bytes32 Buffer.toString(hex) 807.00 ns/op 845.00 ns/op 0.96
bytes32 Buffer.toString(hex) from Uint8Array 1.1170 us/op 1.1810 us/op 0.95
bytes32 Buffer.toString(hex) + 0x 812.00 ns/op 839.00 ns/op 0.97
Object access 1 prop 0.41500 ns/op 0.46700 ns/op 0.89
Map access 1 prop 0.38500 ns/op 0.36100 ns/op 1.07
Object get x1000 20.625 ns/op 16.743 ns/op 1.23
Map get x1000 1.3310 ns/op 0.95900 ns/op 1.39
Object set x1000 130.90 ns/op 124.94 ns/op 1.05
Map set x1000 81.223 ns/op 82.565 ns/op 0.98
Return object 10000 times 0.44240 ns/op 0.44550 ns/op 0.99
Throw Error 10000 times 6.8390 us/op 8.3197 us/op 0.82
enrSubnets - fastDeserialize 64 bits 2.9730 us/op 3.2380 us/op 0.92
enrSubnets - ssz BitVector 64 bits 824.00 ns/op 921.00 ns/op 0.89
enrSubnets - fastDeserialize 4 bits 428.00 ns/op 461.00 ns/op 0.93
enrSubnets - ssz BitVector 4 bits 860.00 ns/op 838.00 ns/op 1.03
prioritizePeers score -10:0 att 32-0.1 sync 2-0 109.92 us/op 113.49 us/op 0.97
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 155.01 us/op 154.39 us/op 1.00
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 260.36 us/op 295.08 us/op 0.88
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 451.01 us/op 643.44 us/op 0.70
prioritizePeers score 0:0 att 64-1 sync 4-1 542.69 us/op 666.38 us/op 0.81
RateTracker 1000000 limit, 1 obj count per request 221.16 ns/op 216.13 ns/op 1.02
RateTracker 1000000 limit, 2 obj count per request 164.03 ns/op 165.85 ns/op 0.99
RateTracker 1000000 limit, 4 obj count per request 138.85 ns/op 134.71 ns/op 1.03
RateTracker 1000000 limit, 8 obj count per request 131.26 ns/op 123.55 ns/op 1.06
RateTracker with prune 5.0480 us/op 5.8760 us/op 0.86
array of 16000 items push then shift 3.8495 us/op 5.5728 us/op 0.69
LinkedList of 16000 items push then shift 20.356 ns/op 21.545 ns/op 0.94
array of 16000 items push then pop 274.50 ns/op 259.75 ns/op 1.06
LinkedList of 16000 items push then pop 18.232 ns/op 19.202 ns/op 0.95
array of 24000 items push then shift 5.3324 us/op 7.8835 us/op 0.68
LinkedList of 24000 items push then shift 22.844 ns/op 19.355 ns/op 1.18
array of 24000 items push then pop 246.16 ns/op 228.56 ns/op 1.08
LinkedList of 24000 items push then pop 20.469 ns/op 19.107 ns/op 1.07
intersect bitArray bitLen 8 13.571 ns/op 12.649 ns/op 1.07
intersect array and set length 8 199.89 ns/op 204.16 ns/op 0.98
intersect bitArray bitLen 128 73.984 ns/op 75.093 ns/op 0.99
intersect array and set length 128 2.7335 us/op 2.4581 us/op 1.11
Buffer.concat 32 items 2.1870 ns/op 2.7230 ns/op 0.80
pass gossip attestations to forkchoice per slot 7.4358 ms/op 4.6031 ms/op 1.62
computeDeltas 6.5566 ms/op 5.5480 ms/op 1.18
computeProposerBoostScoreFromBalances 1.0830 ms/op 900.85 us/op 1.20
altair processAttestation - 250000 vs - 7PWei normalcase 4.7456 ms/op 5.1312 ms/op 0.92
altair processAttestation - 250000 vs - 7PWei worstcase 6.9679 ms/op 7.5932 ms/op 0.92
altair processAttestation - setStatus - 1/6 committees join 240.75 us/op 250.30 us/op 0.96
altair processAttestation - setStatus - 1/3 committees join 472.72 us/op 463.97 us/op 1.02
altair processAttestation - setStatus - 1/2 committees join 657.97 us/op 642.07 us/op 1.02
altair processAttestation - setStatus - 2/3 committees join 844.49 us/op 917.85 us/op 0.92
altair processAttestation - setStatus - 4/5 committees join 1.1740 ms/op 1.2752 ms/op 0.92
altair processAttestation - setStatus - 100% committees join 1.3620 ms/op 1.4607 ms/op 0.93
altair processBlock - 250000 vs - 7PWei normalcase 32.364 ms/op 33.397 ms/op 0.97
altair processBlock - 250000 vs - 7PWei normalcase hashState 42.895 ms/op 45.110 ms/op 0.95
altair processBlock - 250000 vs - 7PWei worstcase 104.49 ms/op 121.18 ms/op 0.86
altair processBlock - 250000 vs - 7PWei worstcase hashState 117.05 ms/op 126.72 ms/op 0.92
phase0 processBlock - 250000 vs - 7PWei normalcase 4.5404 ms/op 4.6059 ms/op 0.99
phase0 processBlock - 250000 vs - 7PWei worstcase 54.053 ms/op 64.474 ms/op 0.84
altair processEth1Data - 250000 vs - 7PWei normalcase 974.82 us/op 1.4510 ms/op 0.67
Tree 40 250000 create 903.89 ms/op 1.0275 s/op 0.88
Tree 40 250000 get(125000) 343.04 ns/op 323.55 ns/op 1.06
Tree 40 250000 set(125000) 2.7697 us/op 3.6700 us/op 0.75
Tree 40 250000 toArray() 36.758 ms/op 36.958 ms/op 0.99
Tree 40 250000 iterate all - toArray() + loop 36.833 ms/op 37.664 ms/op 0.98
Tree 40 250000 iterate all - get(i) 129.67 ms/op 134.87 ms/op 0.96
MutableVector 250000 create 17.465 ms/op 18.441 ms/op 0.95
MutableVector 250000 get(125000) 15.873 ns/op 14.361 ns/op 1.11
MutableVector 250000 set(125000) 683.60 ns/op 935.17 ns/op 0.73
MutableVector 250000 toArray() 8.4044 ms/op 7.9912 ms/op 1.05
MutableVector 250000 iterate all - toArray() + loop 8.5111 ms/op 8.7956 ms/op 0.97
MutableVector 250000 iterate all - get(i) 4.1080 ms/op 4.1445 ms/op 0.99
Array 250000 create 7.8592 ms/op 8.3699 ms/op 0.94
Array 250000 clone - spread 4.2093 ms/op 3.3681 ms/op 1.25
Array 250000 get(125000) 1.7650 ns/op 1.4410 ns/op 1.22
Array 250000 set(125000) 1.7760 ns/op 1.4070 ns/op 1.26
Array 250000 iterate all - loop 200.70 us/op 149.10 us/op 1.35
effectiveBalanceIncrements clone Uint8Array 300000 101.89 us/op 269.63 us/op 0.38
effectiveBalanceIncrements clone MutableVector 300000 1.3340 us/op 924.00 ns/op 1.44
effectiveBalanceIncrements rw all Uint8Array 300000 301.84 us/op 307.41 us/op 0.98
effectiveBalanceIncrements rw all MutableVector 300000 228.67 ms/op 224.98 ms/op 1.02
phase0 afterProcessEpoch - 250000 vs - 7PWei 221.48 ms/op 222.30 ms/op 1.00
phase0 beforeProcessEpoch - 250000 vs - 7PWei 83.450 ms/op 73.979 ms/op 1.13
altair processEpoch - mainnet_e81889 689.81 ms/op 677.27 ms/op 1.02
mainnet_e81889 - altair beforeProcessEpoch 179.67 ms/op 193.99 ms/op 0.93
mainnet_e81889 - altair processJustificationAndFinalization 39.291 us/op 70.248 us/op 0.56
mainnet_e81889 - altair processInactivityUpdates 12.014 ms/op 11.942 ms/op 1.01
mainnet_e81889 - altair processRewardsAndPenalties 106.57 ms/op 104.25 ms/op 1.02
mainnet_e81889 - altair processRegistryUpdates 8.0330 us/op 14.363 us/op 0.56
mainnet_e81889 - altair processSlashings 2.1440 us/op 4.0800 us/op 0.53
mainnet_e81889 - altair processEth1DataReset 2.1240 us/op 4.1780 us/op 0.51
mainnet_e81889 - altair processEffectiveBalanceUpdates 2.8012 ms/op 2.5248 ms/op 1.11
mainnet_e81889 - altair processSlashingsReset 13.584 us/op 26.531 us/op 0.51
mainnet_e81889 - altair processRandaoMixesReset 14.270 us/op 25.285 us/op 0.56
mainnet_e81889 - altair processHistoricalRootsUpdate 2.4160 us/op 4.2910 us/op 0.56
mainnet_e81889 - altair processParticipationFlagUpdates 8.3000 us/op 15.797 us/op 0.53
mainnet_e81889 - altair processSyncCommitteeUpdates 1.8690 us/op 3.3910 us/op 0.55
mainnet_e81889 - altair afterProcessEpoch 221.08 ms/op 219.14 ms/op 1.01
phase0 processEpoch - mainnet_e58758 586.81 ms/op 645.40 ms/op 0.91
mainnet_e58758 - phase0 beforeProcessEpoch 262.05 ms/op 317.37 ms/op 0.83
mainnet_e58758 - phase0 processJustificationAndFinalization 36.916 us/op 63.789 us/op 0.58
mainnet_e58758 - phase0 processRewardsAndPenalties 144.57 ms/op 120.46 ms/op 1.20
mainnet_e58758 - phase0 processRegistryUpdates 20.013 us/op 35.085 us/op 0.57
mainnet_e58758 - phase0 processSlashings 1.9720 us/op 3.4890 us/op 0.57
mainnet_e58758 - phase0 processEth1DataReset 2.0100 us/op 3.6100 us/op 0.56
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 2.3010 ms/op 2.0624 ms/op 1.12
mainnet_e58758 - phase0 processSlashingsReset 9.7380 us/op 16.432 us/op 0.59
mainnet_e58758 - phase0 processRandaoMixesReset 14.867 us/op 26.106 us/op 0.57
mainnet_e58758 - phase0 processHistoricalRootsUpdate 2.2280 us/op 4.2020 us/op 0.53
mainnet_e58758 - phase0 processParticipationRecordUpdates 10.788 us/op 24.633 us/op 0.44
mainnet_e58758 - phase0 afterProcessEpoch 187.70 ms/op 182.31 ms/op 1.03
phase0 processEffectiveBalanceUpdates - 250000 normalcase 2.9263 ms/op 2.4530 ms/op 1.19
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 4.1754 ms/op 3.4001 ms/op 1.23
altair processInactivityUpdates - 250000 normalcase 48.211 ms/op 53.676 ms/op 0.90
altair processInactivityUpdates - 250000 worstcase 57.448 ms/op 54.376 ms/op 1.06
phase0 processRegistryUpdates - 250000 normalcase 15.983 us/op 30.286 us/op 0.53
phase0 processRegistryUpdates - 250000 badcase_full_deposits 516.48 us/op 511.20 us/op 1.01
phase0 processRegistryUpdates - 250000 worstcase 0.5 245.03 ms/op 249.97 ms/op 0.98
altair processRewardsAndPenalties - 250000 normalcase 147.82 ms/op 109.89 ms/op 1.35
altair processRewardsAndPenalties - 250000 worstcase 99.605 ms/op 145.89 ms/op 0.68
phase0 getAttestationDeltas - 250000 normalcase 15.344 ms/op 14.704 ms/op 1.04
phase0 getAttestationDeltas - 250000 worstcase 14.862 ms/op 14.916 ms/op 1.00
phase0 processSlashings - 250000 worstcase 6.0926 ms/op 6.8320 ms/op 0.89
altair processSyncCommitteeUpdates - 250000 330.27 ms/op 349.07 ms/op 0.95
BeaconState.hashTreeRoot - No change 541.00 ns/op 781.00 ns/op 0.69
BeaconState.hashTreeRoot - 1 full validator 76.098 us/op 75.265 us/op 1.01
BeaconState.hashTreeRoot - 32 full validator 746.62 us/op 788.48 us/op 0.95
BeaconState.hashTreeRoot - 512 full validator 6.7723 ms/op 8.2665 ms/op 0.82
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 106.53 us/op 101.75 us/op 1.05
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.2975 ms/op 1.4323 ms/op 0.91
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 17.469 ms/op 17.409 ms/op 1.00
BeaconState.hashTreeRoot - 1 balances 72.245 us/op 71.979 us/op 1.00
BeaconState.hashTreeRoot - 32 balances 631.30 us/op 689.61 us/op 0.92
BeaconState.hashTreeRoot - 512 balances 6.7389 ms/op 5.9335 ms/op 1.14
BeaconState.hashTreeRoot - 250000 balances 96.654 ms/op 124.66 ms/op 0.78
aggregationBits - 2048 els - zipIndexesInBitList 42.045 us/op 37.103 us/op 1.13
regular array get 100000 times 78.142 us/op 57.614 us/op 1.36
wrappedArray get 100000 times 77.558 us/op 58.323 us/op 1.33
arrayWithProxy get 100000 times 37.272 ms/op 35.545 ms/op 1.05
ssz.Root.equals 508.00 ns/op 625.00 ns/op 0.81
byteArrayEquals 513.00 ns/op 628.00 ns/op 0.82
shuffle list - 16384 els 12.272 ms/op 12.655 ms/op 0.97
shuffle list - 250000 els 186.67 ms/op 184.01 ms/op 1.01
processSlot - 1 slots 13.812 us/op 17.653 us/op 0.78
processSlot - 32 slots 2.0087 ms/op 2.4162 ms/op 0.83
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 456.83 us/op 499.90 us/op 0.91
getCommitteeAssignments - req 1 vs - 250000 vc 5.8547 ms/op 5.5257 ms/op 1.06
getCommitteeAssignments - req 100 vs - 250000 vc 7.7947 ms/op 7.8395 ms/op 0.99
getCommitteeAssignments - req 1000 vs - 250000 vc 8.5592 ms/op 8.8183 ms/op 0.97
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 10.850 ns/op 9.4800 ns/op 1.14
state getBlockRootAtSlot - 250000 vs - 7PWei 1.3038 us/op 1.3149 us/op 0.99
computeProposers - vc 250000 19.124 ms/op 21.581 ms/op 0.89
computeEpochShuffling - vc 250000 187.61 ms/op 190.54 ms/op 0.98
getNextSyncCommittee - vc 250000 320.46 ms/op 349.47 ms/op 0.92

by benchmarkbot/action

@dapplion dapplion merged commit 98d302d into unstable Oct 5, 2022
@dapplion dapplion deleted the dapplion/maxPeers-default branch October 5, 2022 09:19
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.

If targetPeers is set as 100, beacon node process exits after a couple of seconds later
2 participants