Skip to content

Reference gh issue with rationale for choosing vc http timeout - #5329

Merged
wemeetagain merged 1 commit into
unstablefrom
nflaig/vc-timeout-rationale
Mar 31, 2023
Merged

Reference gh issue with rationale for choosing vc http timeout#5329
wemeetagain merged 1 commit into
unstablefrom
nflaig/vc-timeout-rationale

Conversation

@nflaig

@nflaig nflaig commented Mar 31, 2023

Copy link
Copy Markdown
Member

Closes #5315

@nflaig
nflaig requested a review from a team as a code owner March 31, 2023 11:41
@github-actions

Copy link
Copy Markdown
Contributor

Performance Report

鉁旓笍 no performance regression detected

Full benchmark results
Benchmark suite Current: cfec3f1 Previous: a2f749a Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 573.21 us/op 609.89 us/op 0.94
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 50.835 us/op 65.791 us/op 0.77
BLS verify - blst-native 1.2364 ms/op 1.2657 ms/op 0.98
BLS verifyMultipleSignatures 3 - blst-native 2.5281 ms/op 2.5796 ms/op 0.98
BLS verifyMultipleSignatures 8 - blst-native 5.4178 ms/op 5.4753 ms/op 0.99
BLS verifyMultipleSignatures 32 - blst-native 19.786 ms/op 19.904 ms/op 0.99
BLS aggregatePubkeys 32 - blst-native 26.469 us/op 26.770 us/op 0.99
BLS aggregatePubkeys 128 - blst-native 107.66 us/op 103.07 us/op 1.04
getAttestationsForBlock 57.002 ms/op 73.916 ms/op 0.77
isKnown best case - 1 super set check 259.00 ns/op 261.00 ns/op 0.99
isKnown normal case - 2 super set checks 256.00 ns/op 258.00 ns/op 0.99
isKnown worse case - 16 super set checks 260.00 ns/op 259.00 ns/op 1.00
CheckpointStateCache - add get delete 5.0900 us/op 6.1950 us/op 0.82
validate gossip signedAggregateAndProof - struct 2.8044 ms/op 2.8896 ms/op 0.97
validate gossip attestation - struct 1.3467 ms/op 1.3586 ms/op 0.99
pickEth1Vote - no votes 1.2638 ms/op 1.4176 ms/op 0.89
pickEth1Vote - max votes 9.0479 ms/op 12.095 ms/op 0.75
pickEth1Vote - Eth1Data hashTreeRoot value x2048 9.2064 ms/op 9.8655 ms/op 0.93
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 15.443 ms/op 16.996 ms/op 0.91
pickEth1Vote - Eth1Data fastSerialize value x2048 745.33 us/op 782.02 us/op 0.95
pickEth1Vote - Eth1Data fastSerialize tree x2048 7.0863 ms/op 6.3958 ms/op 1.11
bytes32 toHexString 573.00 ns/op 833.00 ns/op 0.69
bytes32 Buffer.toString(hex) 480.00 ns/op 480.00 ns/op 1.00
bytes32 Buffer.toString(hex) from Uint8Array 631.00 ns/op 664.00 ns/op 0.95
bytes32 Buffer.toString(hex) + 0x 363.00 ns/op 466.00 ns/op 0.78
Object access 1 prop 0.18700 ns/op 0.21000 ns/op 0.89
Map access 1 prop 0.17300 ns/op 0.16500 ns/op 1.05
Object get x1000 7.2340 ns/op 6.8440 ns/op 1.06
Map get x1000 0.69000 ns/op 0.59700 ns/op 1.16
Object set x1000 57.294 ns/op 75.987 ns/op 0.75
Map set x1000 47.974 ns/op 63.267 ns/op 0.76
Return object 10000 times 0.24990 ns/op 0.25040 ns/op 1.00
Throw Error 10000 times 4.4544 us/op 4.6240 us/op 0.96
fastMsgIdFn sha256 / 200 bytes 3.6630 us/op 3.9390 us/op 0.93
fastMsgIdFn h32 xxhash / 200 bytes 309.00 ns/op 328.00 ns/op 0.94
fastMsgIdFn h64 xxhash / 200 bytes 479.00 ns/op 483.00 ns/op 0.99
fastMsgIdFn sha256 / 1000 bytes 12.584 us/op 12.215 us/op 1.03
fastMsgIdFn h32 xxhash / 1000 bytes 454.00 ns/op 480.00 ns/op 0.95
fastMsgIdFn h64 xxhash / 1000 bytes 493.00 ns/op 606.00 ns/op 0.81
fastMsgIdFn sha256 / 10000 bytes 107.58 us/op 109.08 us/op 0.99
fastMsgIdFn h32 xxhash / 10000 bytes 2.0720 us/op 2.0790 us/op 1.00
fastMsgIdFn h64 xxhash / 10000 bytes 1.4940 us/op 1.5190 us/op 0.98
enrSubnets - fastDeserialize 64 bits 1.3920 us/op 2.0280 us/op 0.69
enrSubnets - ssz BitVector 64 bits 549.00 ns/op 775.00 ns/op 0.71
enrSubnets - fastDeserialize 4 bits 202.00 ns/op 264.00 ns/op 0.77
enrSubnets - ssz BitVector 4 bits 689.00 ns/op 763.00 ns/op 0.90
prioritizePeers score -10:0 att 32-0.1 sync 2-0 150.43 us/op 141.26 us/op 1.06
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 238.04 us/op 191.52 us/op 1.24
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 226.98 us/op 233.10 us/op 0.97
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 374.42 us/op 423.98 us/op 0.88
prioritizePeers score 0:0 att 64-1 sync 4-1 437.75 us/op 504.96 us/op 0.87
array of 16000 items push then shift 1.7425 us/op 1.8613 us/op 0.94
LinkedList of 16000 items push then shift 9.6900 ns/op 13.814 ns/op 0.70
array of 16000 items push then pop 115.67 ns/op 152.91 ns/op 0.76
LinkedList of 16000 items push then pop 9.3130 ns/op 11.435 ns/op 0.81
array of 24000 items push then shift 3.3508 us/op 2.5518 us/op 1.31
LinkedList of 24000 items push then shift 10.603 ns/op 12.802 ns/op 0.83
array of 24000 items push then pop 103.98 ns/op 113.57 ns/op 0.92
LinkedList of 24000 items push then pop 12.344 ns/op 10.586 ns/op 1.17
intersect bitArray bitLen 8 24.647 ns/op 15.818 ns/op 1.56
intersect array and set length 8 150.95 ns/op 124.41 ns/op 1.21
intersect bitArray bitLen 128 72.654 ns/op 46.547 ns/op 1.56
intersect array and set length 128 2.4844 us/op 1.7387 us/op 1.43
Buffer.concat 32 items 3.9250 us/op 3.3580 us/op 1.17
Uint8Array.set 32 items 4.1420 us/op 3.0810 us/op 1.34
pass gossip attestations to forkchoice per slot 6.0313 ms/op 4.8663 ms/op 1.24
computeDeltas 5.0200 ms/op 3.6621 ms/op 1.37
computeProposerBoostScoreFromBalances 1.9216 ms/op 2.1424 ms/op 0.90
altair processAttestation - 250000 vs - 7PWei normalcase 3.5622 ms/op 4.4690 ms/op 0.80
altair processAttestation - 250000 vs - 7PWei worstcase 5.0473 ms/op 5.7850 ms/op 0.87
altair processAttestation - setStatus - 1/6 committees join 155.25 us/op 165.03 us/op 0.94
altair processAttestation - setStatus - 1/3 committees join 300.52 us/op 323.21 us/op 0.93
altair processAttestation - setStatus - 1/2 committees join 397.31 us/op 420.23 us/op 0.95
altair processAttestation - setStatus - 2/3 committees join 496.93 us/op 517.16 us/op 0.96
altair processAttestation - setStatus - 4/5 committees join 708.28 us/op 712.07 us/op 0.99
altair processAttestation - setStatus - 100% committees join 815.24 us/op 828.44 us/op 0.98
altair processBlock - 250000 vs - 7PWei normalcase 19.024 ms/op 24.859 ms/op 0.77
altair processBlock - 250000 vs - 7PWei normalcase hashState 28.877 ms/op 33.971 ms/op 0.85
altair processBlock - 250000 vs - 7PWei worstcase 49.324 ms/op 55.430 ms/op 0.89
altair processBlock - 250000 vs - 7PWei worstcase hashState 75.596 ms/op 75.241 ms/op 1.00
phase0 processBlock - 250000 vs - 7PWei normalcase 2.2842 ms/op 2.9262 ms/op 0.78
phase0 processBlock - 250000 vs - 7PWei worstcase 31.833 ms/op 34.721 ms/op 0.92
altair processEth1Data - 250000 vs - 7PWei normalcase 630.87 us/op 610.72 us/op 1.03
vc - 250000 eb 1 eth1 1 we 0 wn 0 - smpl 15 8.9640 us/op 13.350 us/op 0.67
vc - 250000 eb 0.95 eth1 0.1 we 0.05 wn 0 - smpl 219 27.830 us/op 43.474 us/op 0.64
vc - 250000 eb 0.95 eth1 0.3 we 0.05 wn 0 - smpl 42 17.114 us/op 18.259 us/op 0.94
vc - 250000 eb 0.95 eth1 0.7 we 0.05 wn 0 - smpl 18 9.0660 us/op 14.518 us/op 0.62
vc - 250000 eb 0.1 eth1 0.1 we 0 wn 0 - smpl 1020 118.88 us/op 123.90 us/op 0.96
vc - 250000 eb 0.03 eth1 0.03 we 0 wn 0 - smpl 11777 710.62 us/op 783.90 us/op 0.91
vc - 250000 eb 0.01 eth1 0.01 we 0 wn 0 - smpl 16384 935.43 us/op 982.65 us/op 0.95
vc - 250000 eb 0 eth1 0 we 0 wn 0 - smpl 16384 928.75 us/op 988.89 us/op 0.94
vc - 250000 eb 0 eth1 0 we 0 wn 0 nocache - smpl 16384 2.6976 ms/op 3.6736 ms/op 0.73
vc - 250000 eb 0 eth1 1 we 0 wn 0 - smpl 16384 1.7400 ms/op 1.5325 ms/op 1.14
vc - 250000 eb 0 eth1 1 we 0 wn 0 nocache - smpl 16384 4.6546 ms/op 5.3874 ms/op 0.86
Tree 40 250000 create 463.39 ms/op 587.96 ms/op 0.79
Tree 40 250000 get(125000) 201.67 ns/op 206.34 ns/op 0.98
Tree 40 250000 set(125000) 1.3449 us/op 1.8263 us/op 0.74
Tree 40 250000 toArray() 25.484 ms/op 25.347 ms/op 1.01
Tree 40 250000 iterate all - toArray() + loop 24.980 ms/op 24.783 ms/op 1.01
Tree 40 250000 iterate all - get(i) 79.430 ms/op 79.325 ms/op 1.00
MutableVector 250000 create 10.667 ms/op 12.800 ms/op 0.83
MutableVector 250000 get(125000) 6.5630 ns/op 7.3560 ns/op 0.89
MutableVector 250000 set(125000) 275.67 ns/op 324.34 ns/op 0.85
MutableVector 250000 toArray() 3.7954 ms/op 3.9687 ms/op 0.96
MutableVector 250000 iterate all - toArray() + loop 3.9126 ms/op 4.3579 ms/op 0.90
MutableVector 250000 iterate all - get(i) 1.5857 ms/op 1.5921 ms/op 1.00
Array 250000 create 3.6909 ms/op 3.8155 ms/op 0.97
Array 250000 clone - spread 1.2534 ms/op 1.3070 ms/op 0.96
Array 250000 get(125000) 0.60400 ns/op 0.61100 ns/op 0.99
Array 250000 set(125000) 0.65100 ns/op 0.67300 ns/op 0.97
Array 250000 iterate all - loop 84.856 us/op 89.188 us/op 0.95
effectiveBalanceIncrements clone Uint8Array 300000 29.999 us/op 49.705 us/op 0.60
effectiveBalanceIncrements clone MutableVector 300000 367.00 ns/op 369.00 ns/op 0.99
effectiveBalanceIncrements rw all Uint8Array 300000 173.12 us/op 174.01 us/op 0.99
effectiveBalanceIncrements rw all MutableVector 300000 96.101 ms/op 90.233 ms/op 1.07
phase0 afterProcessEpoch - 250000 vs - 7PWei 118.73 ms/op 119.64 ms/op 0.99
phase0 beforeProcessEpoch - 250000 vs - 7PWei 50.858 ms/op 48.020 ms/op 1.06
altair processEpoch - mainnet_e81889 371.54 ms/op 319.88 ms/op 1.16
mainnet_e81889 - altair beforeProcessEpoch 77.465 ms/op 60.218 ms/op 1.29
mainnet_e81889 - altair processJustificationAndFinalization 22.854 us/op 25.336 us/op 0.90
mainnet_e81889 - altair processInactivityUpdates 8.0769 ms/op 6.6920 ms/op 1.21
mainnet_e81889 - altair processRewardsAndPenalties 55.472 ms/op 74.872 ms/op 0.74
mainnet_e81889 - altair processRegistryUpdates 4.3870 us/op 4.4340 us/op 0.99
mainnet_e81889 - altair processSlashings 628.00 ns/op 906.00 ns/op 0.69
mainnet_e81889 - altair processEth1DataReset 942.00 ns/op 1.2700 us/op 0.74
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.3276 ms/op 1.2685 ms/op 1.05
mainnet_e81889 - altair processSlashingsReset 6.7350 us/op 5.0220 us/op 1.34
mainnet_e81889 - altair processRandaoMixesReset 8.0700 us/op 6.5400 us/op 1.23
mainnet_e81889 - altair processHistoricalRootsUpdate 1.2760 us/op 970.00 ns/op 1.32
mainnet_e81889 - altair processParticipationFlagUpdates 7.7450 us/op 4.3850 us/op 1.77
mainnet_e81889 - altair processSyncCommitteeUpdates 1.4030 us/op 782.00 ns/op 1.79
mainnet_e81889 - altair afterProcessEpoch 134.84 ms/op 133.68 ms/op 1.01
phase0 processEpoch - mainnet_e58758 404.42 ms/op 380.02 ms/op 1.06
mainnet_e58758 - phase0 beforeProcessEpoch 163.00 ms/op 146.25 ms/op 1.11
mainnet_e58758 - phase0 processJustificationAndFinalization 18.564 us/op 17.184 us/op 1.08
mainnet_e58758 - phase0 processRewardsAndPenalties 64.845 ms/op 68.209 ms/op 0.95
mainnet_e58758 - phase0 processRegistryUpdates 10.367 us/op 8.4440 us/op 1.23
mainnet_e58758 - phase0 processSlashings 552.00 ns/op 655.00 ns/op 0.84
mainnet_e58758 - phase0 processEth1DataReset 875.00 ns/op 606.00 ns/op 1.44
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.0646 ms/op 1.0136 ms/op 1.05
mainnet_e58758 - phase0 processSlashingsReset 4.4730 us/op 3.8130 us/op 1.17
mainnet_e58758 - phase0 processRandaoMixesReset 4.8640 us/op 4.7970 us/op 1.01
mainnet_e58758 - phase0 processHistoricalRootsUpdate 835.00 ns/op 1.4610 us/op 0.57
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.9410 us/op 6.4940 us/op 0.61
mainnet_e58758 - phase0 afterProcessEpoch 102.23 ms/op 101.33 ms/op 1.01
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.2672 ms/op 1.4874 ms/op 0.85
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.5236 ms/op 1.6297 ms/op 0.93
altair processInactivityUpdates - 250000 normalcase 28.351 ms/op 26.497 ms/op 1.07
altair processInactivityUpdates - 250000 worstcase 27.012 ms/op 20.712 ms/op 1.30
phase0 processRegistryUpdates - 250000 normalcase 7.2550 us/op 9.8780 us/op 0.73
phase0 processRegistryUpdates - 250000 badcase_full_deposits 243.84 us/op 443.20 us/op 0.55
phase0 processRegistryUpdates - 250000 worstcase 0.5 128.42 ms/op 148.37 ms/op 0.87
altair processRewardsAndPenalties - 250000 normalcase 66.846 ms/op 73.679 ms/op 0.91
altair processRewardsAndPenalties - 250000 worstcase 70.222 ms/op 80.678 ms/op 0.87
phase0 getAttestationDeltas - 250000 normalcase 6.3256 ms/op 9.2991 ms/op 0.68
phase0 getAttestationDeltas - 250000 worstcase 6.2857 ms/op 10.773 ms/op 0.58
phase0 processSlashings - 250000 worstcase 3.4845 ms/op 4.4023 ms/op 0.79
altair processSyncCommitteeUpdates - 250000 169.27 ms/op 206.31 ms/op 0.82
BeaconState.hashTreeRoot - No change 262.00 ns/op 297.00 ns/op 0.88
BeaconState.hashTreeRoot - 1 full validator 50.446 us/op 58.932 us/op 0.86
BeaconState.hashTreeRoot - 32 full validator 528.30 us/op 619.71 us/op 0.85
BeaconState.hashTreeRoot - 512 full validator 5.4213 ms/op 6.9054 ms/op 0.79
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 61.468 us/op 75.270 us/op 0.82
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 894.78 us/op 992.17 us/op 0.90
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 11.227 ms/op 14.913 ms/op 0.75
BeaconState.hashTreeRoot - 1 balances 48.039 us/op 56.920 us/op 0.84
BeaconState.hashTreeRoot - 32 balances 430.53 us/op 473.05 us/op 0.91
BeaconState.hashTreeRoot - 512 balances 4.2544 ms/op 5.4281 ms/op 0.78
BeaconState.hashTreeRoot - 250000 balances 73.114 ms/op 76.512 ms/op 0.96
aggregationBits - 2048 els - zipIndexesInBitList 16.278 us/op 23.424 us/op 0.69
regular array get 100000 times 43.395 us/op 34.669 us/op 1.25
wrappedArray get 100000 times 45.000 us/op 34.876 us/op 1.29
arrayWithProxy get 100000 times 15.906 ms/op 17.337 ms/op 0.92
ssz.Root.equals 584.00 ns/op 606.00 ns/op 0.96
byteArrayEquals 537.00 ns/op 607.00 ns/op 0.88
shuffle list - 16384 els 6.6397 ms/op 7.1247 ms/op 0.93
shuffle list - 250000 els 100.64 ms/op 104.83 ms/op 0.96
processSlot - 1 slots 8.6450 us/op 9.9060 us/op 0.87
processSlot - 32 slots 1.4389 ms/op 1.4766 ms/op 0.97
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 37.215 ms/op 37.872 ms/op 0.98
getCommitteeAssignments - req 1 vs - 250000 vc 2.9747 ms/op 3.0550 ms/op 0.97
getCommitteeAssignments - req 100 vs - 250000 vc 4.2195 ms/op 4.2795 ms/op 0.99
getCommitteeAssignments - req 1000 vs - 250000 vc 4.5690 ms/op 4.6248 ms/op 0.99
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.1900 ns/op 5.2700 ns/op 0.98
state getBlockRootAtSlot - 250000 vs - 7PWei 792.52 ns/op 660.27 ns/op 1.20
computeProposers - vc 250000 11.242 ms/op 10.938 ms/op 1.03
computeEpochShuffling - vc 250000 104.14 ms/op 106.69 ms/op 0.98
getNextSyncCommittee - vc 250000 189.02 ms/op 195.97 ms/op 0.96

by benchmarkbot/action

@wemeetagain
wemeetagain merged commit 3ddd326 into unstable Mar 31, 2023
@wemeetagain
wemeetagain deleted the nflaig/vc-timeout-rationale branch March 31, 2023 21:19
@wemeetagain

Copy link
Copy Markdown
Member

馃帀 This PR is included in v1.8.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.

Default validator HTTP request timeout is too short

2 participants