Skip to content

Stable - #4129

Merged
wemeetagain merged 6 commits into
unstablefrom
stable
Jun 7, 2022
Merged

Stable#4129
wemeetagain merged 6 commits into
unstablefrom
stable

Conversation

@wemeetagain

Copy link
Copy Markdown
Member

g11tech and others added 5 commits June 1, 2022 22:31
@wemeetagain
wemeetagain requested a review from a team as a code owner June 7, 2022 19:52
philknows
philknows previously approved these changes Jun 7, 2022
@github-actions

github-actions Bot commented Jun 7, 2022

Copy link
Copy Markdown
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: cfe8ac0 Previous: fe5c98e Ratio
altair processAttestation - 250000 vs - 7PWei normalcase 4.9864 ms/op 4.2532 ms/op 1.17
altair processAttestation - 250000 vs - 7PWei worstcase 7.8126 ms/op 7.1125 ms/op 1.10
altair processAttestation - setStatus - 1/6 committees join 223.79 us/op 244.42 us/op 0.92
altair processAttestation - setStatus - 1/3 committees join 425.23 us/op 466.06 us/op 0.91
altair processAttestation - setStatus - 1/2 committees join 591.02 us/op 658.40 us/op 0.90
altair processAttestation - setStatus - 2/3 committees join 809.46 us/op 832.57 us/op 0.97
altair processAttestation - setStatus - 4/5 committees join 1.1736 ms/op 1.1577 ms/op 1.01
altair processAttestation - setStatus - 100% committees join 1.4487 ms/op 1.4989 ms/op 0.97
altair processBlock - 250000 vs - 7PWei normalcase 33.730 ms/op 37.455 ms/op 0.90
altair processBlock - 250000 vs - 7PWei normalcase hashState 40.499 ms/op 39.085 ms/op 1.04
altair processBlock - 250000 vs - 7PWei worstcase 96.348 ms/op 87.269 ms/op 1.10
altair processBlock - 250000 vs - 7PWei worstcase hashState 123.53 ms/op 114.69 ms/op 1.08
phase0 processBlock - 250000 vs - 7PWei normalcase 4.4610 ms/op 3.9335 ms/op 1.13
phase0 processBlock - 250000 vs - 7PWei worstcase 53.779 ms/op 56.672 ms/op 0.95
altair processEth1Data - 250000 vs - 7PWei normalcase 979.12 us/op 791.53 us/op 1.24
Tree 40 250000 create 1.2330 s/op 877.28 ms/op 1.41
Tree 40 250000 get(125000) 347.55 ns/op 368.65 ns/op 0.94
Tree 40 250000 set(125000) 3.6755 us/op 2.9955 us/op 1.23
Tree 40 250000 toArray() 38.194 ms/op 37.378 ms/op 1.02
Tree 40 250000 iterate all - toArray() + loop 38.934 ms/op 37.781 ms/op 1.03
Tree 40 250000 iterate all - get(i) 138.35 ms/op 130.26 ms/op 1.06
MutableVector 250000 create 22.570 ms/op 19.064 ms/op 1.18
MutableVector 250000 get(125000) 14.913 ns/op 18.942 ns/op 0.79
MutableVector 250000 set(125000) 1.0851 us/op 780.59 ns/op 1.39
MutableVector 250000 toArray() 8.5732 ms/op 8.5731 ms/op 1.00
MutableVector 250000 iterate all - toArray() + loop 8.9026 ms/op 8.6508 ms/op 1.03
MutableVector 250000 iterate all - get(i) 3.4645 ms/op 3.9903 ms/op 0.87
Array 250000 create 8.2474 ms/op 8.3192 ms/op 0.99
Array 250000 clone - spread 4.4989 ms/op 3.2465 ms/op 1.39
Array 250000 get(125000) 1.9840 ns/op 1.3280 ns/op 1.49
Array 250000 set(125000) 2.0040 ns/op 1.2500 ns/op 1.60
Array 250000 iterate all - loop 147.91 us/op 194.02 us/op 0.76
effectiveBalanceIncrements clone Uint8Array 300000 132.47 us/op 84.898 us/op 1.56
effectiveBalanceIncrements clone MutableVector 300000 1.4310 us/op 860.00 ns/op 1.66
effectiveBalanceIncrements rw all Uint8Array 300000 289.54 us/op 288.67 us/op 1.00
effectiveBalanceIncrements rw all MutableVector 300000 333.19 ms/op 193.32 ms/op 1.72
phase0 afterProcessEpoch - 250000 vs - 7PWei 199.53 ms/op 233.26 ms/op 0.86
phase0 beforeProcessEpoch - 250000 vs - 7PWei 111.31 ms/op 77.428 ms/op 1.44
altair processEpoch - mainnet_e81889 658.79 ms/op 658.04 ms/op 1.00
mainnet_e81889 - altair beforeProcessEpoch 185.56 ms/op 153.23 ms/op 1.21
mainnet_e81889 - altair processJustificationAndFinalization 69.445 us/op 35.021 us/op 1.98
mainnet_e81889 - altair processInactivityUpdates 12.680 ms/op 13.525 ms/op 0.94
mainnet_e81889 - altair processRewardsAndPenalties 95.467 ms/op 161.07 ms/op 0.59
mainnet_e81889 - altair processRegistryUpdates 15.427 us/op 8.7040 us/op 1.77
mainnet_e81889 - altair processSlashings 3.9790 us/op 2.0300 us/op 1.96
mainnet_e81889 - altair processEth1DataReset 4.1490 us/op 2.0680 us/op 2.01
mainnet_e81889 - altair processEffectiveBalanceUpdates 2.4725 ms/op 2.9057 ms/op 0.85
mainnet_e81889 - altair processSlashingsReset 22.147 us/op 12.266 us/op 1.81
mainnet_e81889 - altair processRandaoMixesReset 25.911 us/op 13.214 us/op 1.96
mainnet_e81889 - altair processHistoricalRootsUpdate 4.1780 us/op 2.3160 us/op 1.80
mainnet_e81889 - altair processParticipationFlagUpdates 12.535 us/op 6.9480 us/op 1.80
mainnet_e81889 - altair processSyncCommitteeUpdates 3.4080 us/op 2.0350 us/op 1.67
mainnet_e81889 - altair afterProcessEpoch 215.77 ms/op 238.42 ms/op 0.90
phase0 processEpoch - mainnet_e58758 617.01 ms/op 667.07 ms/op 0.92
mainnet_e58758 - phase0 beforeProcessEpoch 283.63 ms/op 219.97 ms/op 1.29
mainnet_e58758 - phase0 processJustificationAndFinalization 59.014 us/op 29.213 us/op 2.02
mainnet_e58758 - phase0 processRewardsAndPenalties 149.64 ms/op 85.764 ms/op 1.74
mainnet_e58758 - phase0 processRegistryUpdates 30.329 us/op 18.951 us/op 1.60
mainnet_e58758 - phase0 processSlashings 3.2330 us/op 2.2310 us/op 1.45
mainnet_e58758 - phase0 processEth1DataReset 3.4110 us/op 1.7860 us/op 1.91
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 3.5983 ms/op 2.3437 ms/op 1.54
mainnet_e58758 - phase0 processSlashingsReset 18.169 us/op 10.571 us/op 1.72
mainnet_e58758 - phase0 processRandaoMixesReset 24.546 us/op 14.669 us/op 1.67
mainnet_e58758 - phase0 processHistoricalRootsUpdate 4.0370 us/op 2.1640 us/op 1.87
mainnet_e58758 - phase0 processParticipationRecordUpdates 22.195 us/op 13.094 us/op 1.70
mainnet_e58758 - phase0 afterProcessEpoch 175.22 ms/op 190.95 ms/op 0.92
phase0 processEffectiveBalanceUpdates - 250000 normalcase 2.4753 ms/op 3.4786 ms/op 0.71
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.7489 ms/op 4.3407 ms/op 0.63
altair processInactivityUpdates - 250000 normalcase 36.972 ms/op 37.380 ms/op 0.99
altair processInactivityUpdates - 250000 worstcase 36.645 ms/op 38.025 ms/op 0.96
phase0 processRegistryUpdates - 250000 normalcase 26.278 us/op 14.914 us/op 1.76
phase0 processRegistryUpdates - 250000 badcase_full_deposits 504.89 us/op 514.87 us/op 0.98
phase0 processRegistryUpdates - 250000 worstcase 0.5 279.09 ms/op 243.77 ms/op 1.14
altair processRewardsAndPenalties - 250000 normalcase 99.491 ms/op 94.623 ms/op 1.05
altair processRewardsAndPenalties - 250000 worstcase 140.98 ms/op 147.20 ms/op 0.96
phase0 getAttestationDeltas - 250000 normalcase 15.785 ms/op 14.519 ms/op 1.09
phase0 getAttestationDeltas - 250000 worstcase 15.565 ms/op 14.873 ms/op 1.05
phase0 processSlashings - 250000 worstcase 7.0289 ms/op 6.2311 ms/op 1.13
altair processSyncCommitteeUpdates - 250000 348.23 ms/op 328.87 ms/op 1.06
BeaconState.hashTreeRoot - No change 795.00 ns/op 669.00 ns/op 1.19
BeaconState.hashTreeRoot - 1 full validator 81.012 us/op 72.223 us/op 1.12
BeaconState.hashTreeRoot - 32 full validator 720.87 us/op 702.44 us/op 1.03
BeaconState.hashTreeRoot - 512 full validator 8.7524 ms/op 7.9878 ms/op 1.10
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 100.73 us/op 97.692 us/op 1.03
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.5172 ms/op 1.3758 ms/op 1.10
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 20.381 ms/op 18.669 ms/op 1.09
BeaconState.hashTreeRoot - 1 balances 76.395 us/op 83.282 us/op 0.92
BeaconState.hashTreeRoot - 32 balances 718.93 us/op 559.57 us/op 1.28
BeaconState.hashTreeRoot - 512 balances 7.4892 ms/op 6.0020 ms/op 1.25
BeaconState.hashTreeRoot - 250000 balances 104.49 ms/op 99.552 ms/op 1.05
aggregationBits - 2048 els - zipIndexesInBitList 41.573 us/op 40.944 us/op 1.02
regular array get 100000 times 59.920 us/op 79.541 us/op 0.75
wrappedArray get 100000 times 57.367 us/op 78.662 us/op 0.73
arrayWithProxy get 100000 times 34.894 ms/op 34.433 ms/op 1.01
ssz.Root.equals 609.00 ns/op 600.00 ns/op 1.01
byteArrayEquals 572.00 ns/op 597.00 ns/op 0.96
shuffle list - 16384 els 12.235 ms/op 13.531 ms/op 0.90
shuffle list - 250000 els 173.44 ms/op 192.73 ms/op 0.90
processSlot - 1 slots 18.601 us/op 15.030 us/op 1.24
processSlot - 32 slots 2.4312 ms/op 2.2033 ms/op 1.10
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 475.76 us/op 464.24 us/op 1.02
getCommitteeAssignments - req 1 vs - 250000 vc 5.7319 ms/op 6.2901 ms/op 0.91
getCommitteeAssignments - req 100 vs - 250000 vc 8.2040 ms/op 8.6212 ms/op 0.95
getCommitteeAssignments - req 1000 vs - 250000 vc 8.9742 ms/op 9.3607 ms/op 0.96
computeProposers - vc 250000 21.717 ms/op 21.965 ms/op 0.99
computeEpochShuffling - vc 250000 181.42 ms/op 190.77 ms/op 0.95
getNextSyncCommittee - vc 250000 325.66 ms/op 319.84 ms/op 1.02
pass gossip attestations to forkchoice per slot 4.0095 ms/op 3.7587 ms/op 1.07
computeDeltas 4.5669 ms/op 3.8167 ms/op 1.20
computeProposerBoostScoreFromBalances 905.45 us/op 1.0540 ms/op 0.86
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.9695 ms/op 2.3684 ms/op 1.25
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 97.244 us/op 83.964 us/op 1.16
BLS verify - blst-native 2.2381 ms/op 2.2210 ms/op 1.01
BLS verifyMultipleSignatures 3 - blst-native 4.6997 ms/op 4.3908 ms/op 1.07
BLS verifyMultipleSignatures 8 - blst-native 9.9973 ms/op 9.5043 ms/op 1.05
BLS verifyMultipleSignatures 32 - blst-native 37.388 ms/op 34.271 ms/op 1.09
BLS aggregatePubkeys 32 - blst-native 50.063 us/op 45.155 us/op 1.11
BLS aggregatePubkeys 128 - blst-native 188.11 us/op 180.74 us/op 1.04
getAttestationsForBlock 84.351 ms/op 72.374 ms/op 1.17
isKnown best case - 1 super set check 567.00 ns/op 512.00 ns/op 1.11
isKnown normal case - 2 super set checks 592.00 ns/op 498.00 ns/op 1.19
isKnown worse case - 16 super set checks 557.00 ns/op 478.00 ns/op 1.17
CheckpointStateCache - add get delete 14.064 us/op 12.525 us/op 1.12
validate gossip signedAggregateAndProof - struct 5.3395 ms/op 4.8674 ms/op 1.10
validate gossip attestation - struct 2.5200 ms/op 2.3562 ms/op 1.07
altair verifyImport mainnet_s3766816:31 7.5015 s/op 7.3233 s/op 1.02
pickEth1Vote - no votes 2.5744 ms/op 2.5509 ms/op 1.01
pickEth1Vote - max votes 31.868 ms/op 31.434 ms/op 1.01
pickEth1Vote - Eth1Data hashTreeRoot value x2048 15.707 ms/op 14.564 ms/op 1.08
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 27.728 ms/op 24.151 ms/op 1.15
pickEth1Vote - Eth1Data fastSerialize value x2048 1.8580 ms/op 1.8461 ms/op 1.01
pickEth1Vote - Eth1Data fastSerialize tree x2048 21.696 ms/op 21.053 ms/op 1.03
bytes32 toHexString 1.4370 us/op 1.3450 us/op 1.07
bytes32 Buffer.toString(hex) 842.00 ns/op 851.00 ns/op 0.99
bytes32 Buffer.toString(hex) from Uint8Array 1.2050 us/op 1.1440 us/op 1.05
bytes32 Buffer.toString(hex) + 0x 841.00 ns/op 851.00 ns/op 0.99
Object access 1 prop 0.48900 ns/op 0.44700 ns/op 1.09
Map access 1 prop 0.35500 ns/op 0.34500 ns/op 1.03
Object get x1000 17.676 ns/op 20.574 ns/op 0.86
Map get x1000 0.98000 ns/op 1.1700 ns/op 0.84
Object set x1000 136.89 ns/op 142.08 ns/op 0.96
Map set x1000 91.712 ns/op 85.586 ns/op 1.07
Return object 10000 times 0.41510 ns/op 0.42840 ns/op 0.97
Throw Error 10000 times 6.8810 us/op 6.8597 us/op 1.00
enrSubnets - fastDeserialize 64 bits 3.4240 us/op 3.3620 us/op 1.02
enrSubnets - ssz BitVector 64 bits 936.00 ns/op 905.00 ns/op 1.03
enrSubnets - fastDeserialize 4 bits 469.00 ns/op 501.00 ns/op 0.94
enrSubnets - ssz BitVector 4 bits 1.0010 us/op 889.00 ns/op 1.13
prioritizePeers score -10:0 att 32-0.1 sync 2-0 127.08 us/op 114.25 us/op 1.11
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 161.33 us/op 160.76 us/op 1.00
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 293.56 us/op 267.66 us/op 1.10
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 624.42 us/op 468.63 us/op 1.33
prioritizePeers score 0:0 att 64-1 sync 4-1 545.74 us/op 531.97 us/op 1.03
RateTracker 1000000 limit, 1 obj count per request 205.83 ns/op 224.79 ns/op 0.92
RateTracker 1000000 limit, 2 obj count per request 154.73 ns/op 168.90 ns/op 0.92
RateTracker 1000000 limit, 4 obj count per request 129.72 ns/op 139.84 ns/op 0.93
RateTracker 1000000 limit, 8 obj count per request 117.00 ns/op 126.59 ns/op 0.92
RateTracker with prune 5.8900 us/op 5.0990 us/op 1.16
array of 16000 items push then shift 5.1513 us/op 3.7792 us/op 1.36
LinkedList of 16000 items push then shift 30.753 ns/op 29.212 ns/op 1.05
array of 16000 items push then pop 280.65 ns/op 275.78 ns/op 1.02
LinkedList of 16000 items push then pop 25.616 ns/op 24.357 ns/op 1.05
array of 24000 items push then shift 8.3221 us/op 5.2526 us/op 1.58
LinkedList of 24000 items push then shift 31.119 ns/op 29.023 ns/op 1.07
array of 24000 items push then pop 251.39 ns/op 232.81 ns/op 1.08
LinkedList of 24000 items push then pop 26.466 ns/op 23.869 ns/op 1.11
intersect bitArray bitLen 8 12.071 ns/op 13.221 ns/op 0.91
intersect array and set length 8 210.37 ns/op 192.20 ns/op 1.09
intersect bitArray bitLen 128 67.224 ns/op 83.692 ns/op 0.80
intersect array and set length 128 2.3748 us/op 2.6482 us/op 0.90

by benchmarkbot/action

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.

4 participants