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

More conservative inbound stream count #4685

Merged
merged 1 commit into from
Oct 24, 2022

Conversation

wemeetagain
Copy link
Member

Motivation

We can be more conservative than the default.
Default: 1024
Now: 256

@wemeetagain wemeetagain requested a review from a team as a code owner October 22, 2022 03:23
@github-actions
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: acf0d32 Previous: 81c090f Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.3520 ms/op 2.7318 ms/op 0.86
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 82.044 us/op 96.726 us/op 0.85
BLS verify - blst-native 2.0733 ms/op 2.2713 ms/op 0.91
BLS verifyMultipleSignatures 3 - blst-native 4.2616 ms/op 4.6605 ms/op 0.91
BLS verifyMultipleSignatures 8 - blst-native 9.2027 ms/op 9.9317 ms/op 0.93
BLS verifyMultipleSignatures 32 - blst-native 33.867 ms/op 35.559 ms/op 0.95
BLS aggregatePubkeys 32 - blst-native 43.835 us/op 47.073 us/op 0.93
BLS aggregatePubkeys 128 - blst-native 170.99 us/op 183.68 us/op 0.93
getAttestationsForBlock 96.267 ms/op 109.70 ms/op 0.88
isKnown best case - 1 super set check 480.00 ns/op 523.00 ns/op 0.92
isKnown normal case - 2 super set checks 465.00 ns/op 511.00 ns/op 0.91
isKnown worse case - 16 super set checks 474.00 ns/op 507.00 ns/op 0.93
CheckpointStateCache - add get delete 10.134 us/op 10.778 us/op 0.94
validate gossip signedAggregateAndProof - struct 4.6861 ms/op 5.1349 ms/op 0.91
validate gossip attestation - struct 2.2566 ms/op 2.4470 ms/op 0.92
pickEth1Vote - no votes 2.5958 ms/op 2.6704 ms/op 0.97
pickEth1Vote - max votes 22.922 ms/op 25.937 ms/op 0.88
pickEth1Vote - Eth1Data hashTreeRoot value x2048 12.889 ms/op 13.815 ms/op 0.93
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 23.240 ms/op 26.313 ms/op 0.88
pickEth1Vote - Eth1Data fastSerialize value x2048 1.7686 ms/op 1.9092 ms/op 0.93
pickEth1Vote - Eth1Data fastSerialize tree x2048 16.037 ms/op 17.340 ms/op 0.92
bytes32 toHexString 1.2700 us/op 1.4040 us/op 0.90
bytes32 Buffer.toString(hex) 827.00 ns/op 910.00 ns/op 0.91
bytes32 Buffer.toString(hex) from Uint8Array 1.1290 us/op 1.1640 us/op 0.97
bytes32 Buffer.toString(hex) + 0x 845.00 ns/op 930.00 ns/op 0.91
Object access 1 prop 0.43100 ns/op 0.50800 ns/op 0.85
Map access 1 prop 0.36100 ns/op 0.36200 ns/op 1.00
Object get x1000 20.771 ns/op 21.499 ns/op 0.97
Map get x1000 1.1690 ns/op 1.2150 ns/op 0.96
Object set x1000 143.06 ns/op 149.64 ns/op 0.96
Map set x1000 84.403 ns/op 89.128 ns/op 0.95
Return object 10000 times 0.43690 ns/op 0.45110 ns/op 0.97
Throw Error 10000 times 6.9787 us/op 7.1654 us/op 0.97
fastMsgIdFn sha256 / 200 bytes 5.0500 us/op 5.1360 us/op 0.98
fastMsgIdFn h32 xxhash / 200 bytes 652.00 ns/op 694.00 ns/op 0.94
fastMsgIdFn h64 xxhash / 200 bytes 856.00 ns/op 847.00 ns/op 1.01
fastMsgIdFn sha256 / 1000 bytes 16.112 us/op 15.958 us/op 1.01
fastMsgIdFn h32 xxhash / 1000 bytes 805.00 ns/op 859.00 ns/op 0.94
fastMsgIdFn h64 xxhash / 1000 bytes 1.0270 us/op 1.0180 us/op 1.01
fastMsgIdFn sha256 / 10000 bytes 139.59 us/op 136.87 us/op 1.02
fastMsgIdFn h32 xxhash / 10000 bytes 2.6210 us/op 2.7540 us/op 0.95
fastMsgIdFn h64 xxhash / 10000 bytes 2.0810 us/op 2.1010 us/op 0.99
enrSubnets - fastDeserialize 64 bits 3.1820 us/op 3.5870 us/op 0.89
enrSubnets - ssz BitVector 64 bits 916.00 ns/op 975.00 ns/op 0.94
enrSubnets - fastDeserialize 4 bits 429.00 ns/op 502.00 ns/op 0.85
enrSubnets - ssz BitVector 4 bits 874.00 ns/op 991.00 ns/op 0.88
prioritizePeers score -10:0 att 32-0.1 sync 2-0 106.54 us/op 118.85 us/op 0.90
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 163.95 us/op 167.60 us/op 0.98
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 263.91 us/op 284.81 us/op 0.93
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 436.91 us/op 463.32 us/op 0.94
prioritizePeers score 0:0 att 64-1 sync 4-1 523.54 us/op 548.72 us/op 0.95
RateTracker 1000000 limit, 1 obj count per request 242.41 ns/op 231.88 ns/op 1.05
RateTracker 1000000 limit, 2 obj count per request 179.56 ns/op 176.25 ns/op 1.02
RateTracker 1000000 limit, 4 obj count per request 155.82 ns/op 148.38 ns/op 1.05
RateTracker 1000000 limit, 8 obj count per request 136.95 ns/op 140.37 ns/op 0.98
RateTracker with prune 5.0490 us/op 6.4420 us/op 0.78
array of 16000 items push then shift 3.6556 us/op 3.7940 us/op 0.96
LinkedList of 16000 items push then shift 19.105 ns/op 20.886 ns/op 0.91
array of 16000 items push then pop 266.11 ns/op 278.59 ns/op 0.96
LinkedList of 16000 items push then pop 19.235 ns/op 19.549 ns/op 0.98
array of 24000 items push then shift 5.0675 us/op 5.4626 us/op 0.93
LinkedList of 24000 items push then shift 22.600 ns/op 24.108 ns/op 0.94
array of 24000 items push then pop 233.00 ns/op 259.05 ns/op 0.90
LinkedList of 24000 items push then pop 19.784 ns/op 20.789 ns/op 0.95
intersect bitArray bitLen 8 13.622 ns/op 14.138 ns/op 0.96
intersect array and set length 8 191.09 ns/op 215.79 ns/op 0.89
intersect bitArray bitLen 128 69.479 ns/op 74.534 ns/op 0.93
intersect array and set length 128 2.5910 us/op 2.7591 us/op 0.94
Buffer.concat 32 items 2.6350 ns/op 2.7740 ns/op 0.95
pass gossip attestations to forkchoice per slot 4.6685 ms/op 4.8810 ms/op 0.96
computeDeltas 6.0064 ms/op 7.1491 ms/op 0.84
computeProposerBoostScoreFromBalances 1.0435 ms/op 1.1062 ms/op 0.94
altair processAttestation - 250000 vs - 7PWei normalcase 4.3187 ms/op 5.0320 ms/op 0.86
altair processAttestation - 250000 vs - 7PWei worstcase 6.5302 ms/op 7.3624 ms/op 0.89
altair processAttestation - setStatus - 1/6 committees join 229.88 us/op 249.28 us/op 0.92
altair processAttestation - setStatus - 1/3 committees join 445.03 us/op 475.43 us/op 0.94
altair processAttestation - setStatus - 1/2 committees join 597.34 us/op 667.55 us/op 0.89
altair processAttestation - setStatus - 2/3 committees join 826.40 us/op 859.24 us/op 0.96
altair processAttestation - setStatus - 4/5 committees join 1.0839 ms/op 1.2323 ms/op 0.88
altair processAttestation - setStatus - 100% committees join 1.3114 ms/op 1.4037 ms/op 0.93
altair processBlock - 250000 vs - 7PWei normalcase 29.463 ms/op 33.354 ms/op 0.88
altair processBlock - 250000 vs - 7PWei normalcase hashState 40.707 ms/op 45.775 ms/op 0.89
altair processBlock - 250000 vs - 7PWei worstcase 96.131 ms/op 97.104 ms/op 0.99
altair processBlock - 250000 vs - 7PWei worstcase hashState 107.47 ms/op 118.38 ms/op 0.91
phase0 processBlock - 250000 vs - 7PWei normalcase 4.0386 ms/op 4.5134 ms/op 0.89
phase0 processBlock - 250000 vs - 7PWei worstcase 51.987 ms/op 55.584 ms/op 0.94
altair processEth1Data - 250000 vs - 7PWei normalcase 949.60 us/op 1.1114 ms/op 0.85
Tree 40 250000 create 871.79 ms/op 939.42 ms/op 0.93
Tree 40 250000 get(125000) 326.76 ns/op 339.53 ns/op 0.96
Tree 40 250000 set(125000) 2.4782 us/op 2.8137 us/op 0.88
Tree 40 250000 toArray() 35.348 ms/op 41.599 ms/op 0.85
Tree 40 250000 iterate all - toArray() + loop 35.465 ms/op 41.637 ms/op 0.85
Tree 40 250000 iterate all - get(i) 125.44 ms/op 134.06 ms/op 0.94
MutableVector 250000 create 29.749 ms/op 19.192 ms/op 1.55
MutableVector 250000 get(125000) 15.508 ns/op 17.752 ns/op 0.87
MutableVector 250000 set(125000) 594.92 ns/op 805.84 ns/op 0.74
MutableVector 250000 toArray() 7.9636 ms/op 8.6705 ms/op 0.92
MutableVector 250000 iterate all - toArray() + loop 8.1459 ms/op 15.744 ms/op 0.52
MutableVector 250000 iterate all - get(i) 3.9655 ms/op 4.1892 ms/op 0.95
Array 250000 create 7.2041 ms/op 7.4343 ms/op 0.97
Array 250000 clone - spread 3.1391 ms/op 3.3600 ms/op 0.93
Array 250000 get(125000) 1.3650 ns/op 1.4040 ns/op 0.97
Array 250000 set(125000) 1.3850 ns/op 1.3970 ns/op 0.99
Array 250000 iterate all - loop 197.14 us/op 202.33 us/op 0.97
effectiveBalanceIncrements clone Uint8Array 300000 87.145 us/op 112.66 us/op 0.77
effectiveBalanceIncrements clone MutableVector 300000 921.00 ns/op 853.00 ns/op 1.08
effectiveBalanceIncrements rw all Uint8Array 300000 295.52 us/op 302.73 us/op 0.98
effectiveBalanceIncrements rw all MutableVector 300000 188.89 ms/op 200.53 ms/op 0.94
phase0 afterProcessEpoch - 250000 vs - 7PWei 214.32 ms/op 242.48 ms/op 0.88
phase0 beforeProcessEpoch - 250000 vs - 7PWei 78.403 ms/op 77.460 ms/op 1.01
altair processEpoch - mainnet_e81889 576.42 ms/op 697.42 ms/op 0.83
mainnet_e81889 - altair beforeProcessEpoch 177.24 ms/op 186.41 ms/op 0.95
mainnet_e81889 - altair processJustificationAndFinalization 45.019 us/op 36.973 us/op 1.22
mainnet_e81889 - altair processInactivityUpdates 11.728 ms/op 13.272 ms/op 0.88
mainnet_e81889 - altair processRewardsAndPenalties 103.28 ms/op 108.27 ms/op 0.95
mainnet_e81889 - altair processRegistryUpdates 9.1900 us/op 7.6620 us/op 1.20
mainnet_e81889 - altair processSlashings 1.9200 us/op 2.0090 us/op 0.96
mainnet_e81889 - altair processEth1DataReset 2.2470 us/op 2.0020 us/op 1.12
mainnet_e81889 - altair processEffectiveBalanceUpdates 2.6828 ms/op 2.9136 ms/op 0.92
mainnet_e81889 - altair processSlashingsReset 13.694 us/op 12.133 us/op 1.13
mainnet_e81889 - altair processRandaoMixesReset 14.488 us/op 12.690 us/op 1.14
mainnet_e81889 - altair processHistoricalRootsUpdate 2.7840 us/op 2.1350 us/op 1.30
mainnet_e81889 - altair processParticipationFlagUpdates 8.5600 us/op 6.0900 us/op 1.41
mainnet_e81889 - altair processSyncCommitteeUpdates 2.2070 us/op 1.7520 us/op 1.26
mainnet_e81889 - altair afterProcessEpoch 225.77 ms/op 235.97 ms/op 0.96
phase0 processEpoch - mainnet_e58758 601.80 ms/op 628.89 ms/op 0.96
mainnet_e58758 - phase0 beforeProcessEpoch 254.25 ms/op 273.94 ms/op 0.93
mainnet_e58758 - phase0 processJustificationAndFinalization 45.090 us/op 35.723 us/op 1.26
mainnet_e58758 - phase0 processRewardsAndPenalties 92.509 ms/op 164.10 ms/op 0.56
mainnet_e58758 - phase0 processRegistryUpdates 20.983 us/op 18.553 us/op 1.13
mainnet_e58758 - phase0 processSlashings 2.0440 us/op 1.8150 us/op 1.13
mainnet_e58758 - phase0 processEth1DataReset 1.9760 us/op 1.7900 us/op 1.10
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 2.3105 ms/op 2.7405 ms/op 0.84
mainnet_e58758 - phase0 processSlashingsReset 10.548 us/op 9.4210 us/op 1.12
mainnet_e58758 - phase0 processRandaoMixesReset 14.546 us/op 13.048 us/op 1.11
mainnet_e58758 - phase0 processHistoricalRootsUpdate 2.1670 us/op 2.1790 us/op 0.99
mainnet_e58758 - phase0 processParticipationRecordUpdates 15.889 us/op 11.277 us/op 1.41
mainnet_e58758 - phase0 afterProcessEpoch 185.76 ms/op 192.88 ms/op 0.96
phase0 processEffectiveBalanceUpdates - 250000 normalcase 3.0018 ms/op 3.1914 ms/op 0.94
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 4.0872 ms/op 4.2547 ms/op 0.96
altair processInactivityUpdates - 250000 normalcase 44.819 ms/op 46.988 ms/op 0.95
altair processInactivityUpdates - 250000 worstcase 46.401 ms/op 59.281 ms/op 0.78
phase0 processRegistryUpdates - 250000 normalcase 14.577 us/op 14.714 us/op 0.99
phase0 processRegistryUpdates - 250000 badcase_full_deposits 495.86 us/op 517.48 us/op 0.96
phase0 processRegistryUpdates - 250000 worstcase 0.5 266.76 ms/op 254.81 ms/op 1.05
altair processRewardsAndPenalties - 250000 normalcase 95.824 ms/op 148.98 ms/op 0.64
altair processRewardsAndPenalties - 250000 worstcase 97.307 ms/op 105.91 ms/op 0.92
phase0 getAttestationDeltas - 250000 normalcase 14.960 ms/op 17.004 ms/op 0.88
phase0 getAttestationDeltas - 250000 worstcase 14.801 ms/op 17.368 ms/op 0.85
phase0 processSlashings - 250000 worstcase 5.9980 ms/op 6.3345 ms/op 0.95
altair processSyncCommitteeUpdates - 250000 321.48 ms/op 344.52 ms/op 0.93
BeaconState.hashTreeRoot - No change 539.00 ns/op 905.00 ns/op 0.60
BeaconState.hashTreeRoot - 1 full validator 72.721 us/op 67.778 us/op 1.07
BeaconState.hashTreeRoot - 32 full validator 718.14 us/op 650.40 us/op 1.10
BeaconState.hashTreeRoot - 512 full validator 9.3851 ms/op 7.4496 ms/op 1.26
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 88.799 us/op 87.527 us/op 1.01
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.3269 ms/op 1.2333 ms/op 1.08
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 17.753 ms/op 16.017 ms/op 1.11
BeaconState.hashTreeRoot - 1 balances 64.881 us/op 62.656 us/op 1.04
BeaconState.hashTreeRoot - 32 balances 663.40 us/op 594.89 us/op 1.12
BeaconState.hashTreeRoot - 512 balances 6.7829 ms/op 5.3863 ms/op 1.26
BeaconState.hashTreeRoot - 250000 balances 108.86 ms/op 122.79 ms/op 0.89
aggregationBits - 2048 els - zipIndexesInBitList 33.861 us/op 35.844 us/op 0.94
regular array get 100000 times 75.441 us/op 80.899 us/op 0.93
wrappedArray get 100000 times 76.706 us/op 80.994 us/op 0.95
arrayWithProxy get 100000 times 33.091 ms/op 34.729 ms/op 0.95
ssz.Root.equals 540.00 ns/op 574.00 ns/op 0.94
byteArrayEquals 545.00 ns/op 573.00 ns/op 0.95
shuffle list - 16384 els 12.880 ms/op 13.518 ms/op 0.95
shuffle list - 250000 els 190.66 ms/op 197.53 ms/op 0.97
processSlot - 1 slots 14.013 us/op 14.252 us/op 0.98
processSlot - 32 slots 2.0755 ms/op 1.9788 ms/op 1.05
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 441.95 us/op 473.45 us/op 0.93
getCommitteeAssignments - req 1 vs - 250000 vc 6.0637 ms/op 6.3596 ms/op 0.95
getCommitteeAssignments - req 100 vs - 250000 vc 8.2856 ms/op 8.8473 ms/op 0.94
getCommitteeAssignments - req 1000 vs - 250000 vc 8.9412 ms/op 9.4348 ms/op 0.95
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 10.640 ns/op 11.210 ns/op 0.95
state getBlockRootAtSlot - 250000 vs - 7PWei 1.2029 us/op 1.4760 us/op 0.81
computeProposers - vc 250000 19.345 ms/op 20.717 ms/op 0.93
computeEpochShuffling - vc 250000 195.41 ms/op 206.38 ms/op 0.95
getNextSyncCommittee - vc 250000 320.82 ms/op 341.95 ms/op 0.94

by benchmarkbot/action

@dapplion dapplion merged commit bc20c21 into unstable Oct 24, 2022
@dapplion dapplion deleted the cayman/smaller-stream-count branch October 24, 2022 17:29
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.

2 participants