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

Deprecate BeaconBlocksByRange.step #4499

Merged
merged 1 commit into from
Sep 1, 2022
Merged

Conversation

dapplion
Copy link
Contributor

@dapplion dapplion commented Sep 1, 2022

Motivation

Description

Deprecate BeaconBlocksByRange.step

@dapplion dapplion requested a review from a team as a code owner September 1, 2022 14:56
@wemeetagain wemeetagain enabled auto-merge (squash) September 1, 2022 15:06
@github-actions
Copy link
Contributor

github-actions bot commented Sep 1, 2022

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 9c10228 Previous: 4e73138 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.5690 ms/op 1.7252 ms/op 1.49
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 82.832 us/op 64.641 us/op 1.28
BLS verify - blst-native 2.2079 ms/op 2.1643 ms/op 1.02
BLS verifyMultipleSignatures 3 - blst-native 4.5451 ms/op 4.4695 ms/op 1.02
BLS verifyMultipleSignatures 8 - blst-native 9.8293 ms/op 9.6614 ms/op 1.02
BLS verifyMultipleSignatures 32 - blst-native 35.376 ms/op 35.127 ms/op 1.01
BLS aggregatePubkeys 32 - blst-native 45.554 us/op 46.565 us/op 0.98
BLS aggregatePubkeys 128 - blst-native 179.85 us/op 182.44 us/op 0.99
getAttestationsForBlock 201.58 ms/op 144.44 ms/op 1.40
isKnown best case - 1 super set check 510.00 ns/op 498.00 ns/op 1.02
isKnown normal case - 2 super set checks 486.00 ns/op 485.00 ns/op 1.00
isKnown worse case - 16 super set checks 500.00 ns/op 482.00 ns/op 1.04
CheckpointStateCache - add get delete 10.758 us/op 8.7720 us/op 1.23
validate gossip signedAggregateAndProof - struct 5.0645 ms/op 5.0235 ms/op 1.01
validate gossip attestation - struct 2.4097 ms/op 2.3762 ms/op 1.01
pickEth1Vote - no votes 2.5310 ms/op 2.2322 ms/op 1.13
pickEth1Vote - max votes 23.740 ms/op 22.796 ms/op 1.04
pickEth1Vote - Eth1Data hashTreeRoot value x2048 14.113 ms/op 12.888 ms/op 1.09
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 25.502 ms/op 19.735 ms/op 1.29
pickEth1Vote - Eth1Data fastSerialize value x2048 2.0247 ms/op 1.4095 ms/op 1.44
pickEth1Vote - Eth1Data fastSerialize tree x2048 14.249 ms/op 12.611 ms/op 1.13
bytes32 toHexString 1.1910 us/op 874.00 ns/op 1.36
bytes32 Buffer.toString(hex) 834.00 ns/op 719.00 ns/op 1.16
bytes32 Buffer.toString(hex) from Uint8Array 1.0680 us/op 984.00 ns/op 1.09
bytes32 Buffer.toString(hex) + 0x 822.00 ns/op 735.00 ns/op 1.12
Object access 1 prop 0.41400 ns/op 0.32800 ns/op 1.26
Map access 1 prop 0.35300 ns/op 0.29600 ns/op 1.19
Object get x1000 20.383 ns/op 10.853 ns/op 1.88
Map get x1000 1.1450 ns/op 0.95200 ns/op 1.20
Object set x1000 137.84 ns/op 69.414 ns/op 1.99
Map set x1000 80.111 ns/op 45.791 ns/op 1.75
Return object 10000 times 0.42850 ns/op 0.43800 ns/op 0.98
Throw Error 10000 times 6.9491 us/op 6.1657 us/op 1.13
enrSubnets - fastDeserialize 64 bits 3.1500 us/op 2.3890 us/op 1.32
enrSubnets - ssz BitVector 64 bits 954.00 ns/op 755.00 ns/op 1.26
enrSubnets - fastDeserialize 4 bits 497.00 ns/op 369.00 ns/op 1.35
enrSubnets - ssz BitVector 4 bits 964.00 ns/op 803.00 ns/op 1.20
prioritizePeers score -10:0 att 32-0.1 sync 2-0 113.83 us/op 79.863 us/op 1.43
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 164.86 us/op 115.10 us/op 1.43
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 276.52 us/op 191.70 us/op 1.44
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 458.52 us/op 382.02 us/op 1.20
prioritizePeers score 0:0 att 64-1 sync 4-1 544.61 us/op 407.21 us/op 1.34
RateTracker 1000000 limit, 1 obj count per request 227.18 ns/op 176.29 ns/op 1.29
RateTracker 1000000 limit, 2 obj count per request 170.99 ns/op 127.18 ns/op 1.34
RateTracker 1000000 limit, 4 obj count per request 141.13 ns/op 102.78 ns/op 1.37
RateTracker 1000000 limit, 8 obj count per request 128.64 ns/op 92.353 ns/op 1.39
RateTracker with prune 5.0790 us/op 3.5260 us/op 1.44
array of 16000 items push then shift 3.7466 us/op 51.585 us/op 0.07
LinkedList of 16000 items push then shift 20.440 ns/op 15.116 ns/op 1.35
array of 16000 items push then pop 282.24 ns/op 207.72 ns/op 1.36
LinkedList of 16000 items push then pop 18.879 ns/op 14.124 ns/op 1.34
array of 24000 items push then shift 5.4457 us/op 77.357 us/op 0.07
LinkedList of 24000 items push then shift 23.829 ns/op 18.034 ns/op 1.32
array of 24000 items push then pop 267.99 ns/op 195.51 ns/op 1.37
LinkedList of 24000 items push then pop 21.923 ns/op 15.087 ns/op 1.45
intersect bitArray bitLen 8 14.031 ns/op 10.703 ns/op 1.31
intersect array and set length 8 202.42 ns/op 124.00 ns/op 1.63
intersect bitArray bitLen 128 86.057 ns/op 57.741 ns/op 1.49
intersect array and set length 128 2.7290 us/op 1.7092 us/op 1.60
Buffer.concat 32 items 2.6890 ns/op 1.7540 ns/op 1.53
pass gossip attestations to forkchoice per slot 3.6824 ms/op 2.8805 ms/op 1.28
computeDeltas 4.1778 ms/op 3.5140 ms/op 1.19
computeProposerBoostScoreFromBalances 1.0861 ms/op 814.25 us/op 1.33
altair processAttestation - 250000 vs - 7PWei normalcase 4.7097 ms/op 3.4943 ms/op 1.35
altair processAttestation - 250000 vs - 7PWei worstcase 8.0606 ms/op 5.3029 ms/op 1.52
altair processAttestation - setStatus - 1/6 committees join 260.26 us/op 176.44 us/op 1.48
altair processAttestation - setStatus - 1/3 committees join 497.06 us/op 339.34 us/op 1.46
altair processAttestation - setStatus - 1/2 committees join 695.79 us/op 486.46 us/op 1.43
altair processAttestation - setStatus - 2/3 committees join 875.10 us/op 634.64 us/op 1.38
altair processAttestation - setStatus - 4/5 committees join 1.2391 ms/op 894.99 us/op 1.38
altair processAttestation - setStatus - 100% committees join 1.4520 ms/op 1.0689 ms/op 1.36
altair processBlock - 250000 vs - 7PWei normalcase 33.687 ms/op 25.423 ms/op 1.33
altair processBlock - 250000 vs - 7PWei normalcase hashState 43.404 ms/op 34.526 ms/op 1.26
altair processBlock - 250000 vs - 7PWei worstcase 98.756 ms/op 92.633 ms/op 1.07
altair processBlock - 250000 vs - 7PWei worstcase hashState 121.14 ms/op 109.84 ms/op 1.10
phase0 processBlock - 250000 vs - 7PWei normalcase 4.6219 ms/op 4.5496 ms/op 1.02
phase0 processBlock - 250000 vs - 7PWei worstcase 55.591 ms/op 52.222 ms/op 1.06
altair processEth1Data - 250000 vs - 7PWei normalcase 1.0875 ms/op 1.0311 ms/op 1.05
Tree 40 250000 create 948.79 ms/op 676.22 ms/op 1.40
Tree 40 250000 get(125000) 342.76 ns/op 256.70 ns/op 1.34
Tree 40 250000 set(125000) 2.7655 us/op 1.8822 us/op 1.47
Tree 40 250000 toArray() 36.897 ms/op 32.287 ms/op 1.14
Tree 40 250000 iterate all - toArray() + loop 37.315 ms/op 27.780 ms/op 1.34
Tree 40 250000 iterate all - get(i) 133.24 ms/op 113.92 ms/op 1.17
MutableVector 250000 create 20.193 ms/op 19.973 ms/op 1.01
MutableVector 250000 get(125000) 17.975 ns/op 10.630 ns/op 1.69
MutableVector 250000 set(125000) 749.35 ns/op 427.09 ns/op 1.75
MutableVector 250000 toArray() 9.0316 ms/op 5.4909 ms/op 1.64
MutableVector 250000 iterate all - toArray() + loop 9.4590 ms/op 5.6792 ms/op 1.67
MutableVector 250000 iterate all - get(i) 4.5343 ms/op 2.7051 ms/op 1.68
Array 250000 create 7.1833 ms/op 5.4202 ms/op 1.33
Array 250000 clone - spread 3.2763 ms/op 2.4286 ms/op 1.35
Array 250000 get(125000) 1.3430 ns/op 1.1810 ns/op 1.14
Array 250000 set(125000) 1.3210 ns/op 1.1520 ns/op 1.15
Array 250000 iterate all - loop 201.58 us/op 153.07 us/op 1.32
effectiveBalanceIncrements clone Uint8Array 300000 365.28 us/op 92.055 us/op 3.97
effectiveBalanceIncrements clone MutableVector 300000 828.00 ns/op 632.00 ns/op 1.31
effectiveBalanceIncrements rw all Uint8Array 300000 292.65 us/op 247.14 us/op 1.18
effectiveBalanceIncrements rw all MutableVector 300000 177.56 ms/op 133.04 ms/op 1.33
phase0 afterProcessEpoch - 250000 vs - 7PWei 238.12 ms/op 187.61 ms/op 1.27
phase0 beforeProcessEpoch - 250000 vs - 7PWei 80.747 ms/op 113.87 ms/op 0.71
altair processEpoch - mainnet_e81889 718.07 ms/op 643.28 ms/op 1.12
mainnet_e81889 - altair beforeProcessEpoch 110.33 ms/op 170.28 ms/op 0.65
mainnet_e81889 - altair processJustificationAndFinalization 39.784 us/op 23.810 us/op 1.67
mainnet_e81889 - altair processInactivityUpdates 13.344 ms/op 8.6876 ms/op 1.54
mainnet_e81889 - altair processRewardsAndPenalties 184.88 ms/op 169.56 ms/op 1.09
mainnet_e81889 - altair processRegistryUpdates 8.5740 us/op 4.1850 us/op 2.05
mainnet_e81889 - altair processSlashings 2.0290 us/op 967.00 ns/op 2.10
mainnet_e81889 - altair processEth1DataReset 2.2430 us/op 1.0090 us/op 2.22
mainnet_e81889 - altair processEffectiveBalanceUpdates 3.6255 ms/op 2.0679 ms/op 1.75
mainnet_e81889 - altair processSlashingsReset 11.497 us/op 5.5580 us/op 2.07
mainnet_e81889 - altair processRandaoMixesReset 12.855 us/op 5.9290 us/op 2.17
mainnet_e81889 - altair processHistoricalRootsUpdate 1.9500 us/op 792.00 ns/op 2.46
mainnet_e81889 - altair processParticipationFlagUpdates 6.8740 us/op 2.7640 us/op 2.49
mainnet_e81889 - altair processSyncCommitteeUpdates 2.0420 us/op 650.00 ns/op 3.14
mainnet_e81889 - altair afterProcessEpoch 235.18 ms/op 197.89 ms/op 1.19
phase0 processEpoch - mainnet_e58758 636.51 ms/op 612.63 ms/op 1.04
mainnet_e58758 - phase0 beforeProcessEpoch 264.66 ms/op 220.07 ms/op 1.20
mainnet_e58758 - phase0 processJustificationAndFinalization 34.193 us/op 19.748 us/op 1.73
mainnet_e58758 - phase0 processRewardsAndPenalties 163.54 ms/op 124.18 ms/op 1.32
mainnet_e58758 - phase0 processRegistryUpdates 19.691 us/op 7.8640 us/op 2.50
mainnet_e58758 - phase0 processSlashings 1.7390 us/op 721.00 ns/op 2.41
mainnet_e58758 - phase0 processEth1DataReset 1.7060 us/op 804.00 ns/op 2.12
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 2.7733 ms/op 1.8135 ms/op 1.53
mainnet_e58758 - phase0 processSlashingsReset 10.210 us/op 6.0500 us/op 1.69
mainnet_e58758 - phase0 processRandaoMixesReset 12.959 us/op 6.3720 us/op 2.03
mainnet_e58758 - phase0 processHistoricalRootsUpdate 2.0340 us/op 1.0940 us/op 1.86
mainnet_e58758 - phase0 processParticipationRecordUpdates 10.852 us/op 5.5510 us/op 1.95
mainnet_e58758 - phase0 afterProcessEpoch 191.10 ms/op 162.89 ms/op 1.17
phase0 processEffectiveBalanceUpdates - 250000 normalcase 3.1638 ms/op 1.9354 ms/op 1.63
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 4.1252 ms/op 2.2244 ms/op 1.85
altair processInactivityUpdates - 250000 normalcase 47.541 ms/op 55.907 ms/op 0.85
altair processInactivityUpdates - 250000 worstcase 54.827 ms/op 53.227 ms/op 1.03
phase0 processRegistryUpdates - 250000 normalcase 15.676 us/op 9.3920 us/op 1.67
phase0 processRegistryUpdates - 250000 badcase_full_deposits 530.92 us/op 478.55 us/op 1.11
phase0 processRegistryUpdates - 250000 worstcase 0.5 261.40 ms/op 215.16 ms/op 1.21
altair processRewardsAndPenalties - 250000 normalcase 155.37 ms/op 131.78 ms/op 1.18
altair processRewardsAndPenalties - 250000 worstcase 107.04 ms/op 136.62 ms/op 0.78
phase0 getAttestationDeltas - 250000 normalcase 16.268 ms/op 11.669 ms/op 1.39
phase0 getAttestationDeltas - 250000 worstcase 13.457 ms/op 11.842 ms/op 1.14
phase0 processSlashings - 250000 worstcase 6.5068 ms/op 5.0874 ms/op 1.28
altair processSyncCommitteeUpdates - 250000 340.65 ms/op 292.52 ms/op 1.16
BeaconState.hashTreeRoot - No change 544.00 ns/op 505.00 ns/op 1.08
BeaconState.hashTreeRoot - 1 full validator 74.970 us/op 71.551 us/op 1.05
BeaconState.hashTreeRoot - 32 full validator 768.73 us/op 811.74 us/op 0.95
BeaconState.hashTreeRoot - 512 full validator 7.0922 ms/op 6.8471 ms/op 1.04
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 95.351 us/op 99.981 us/op 0.95
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.4558 ms/op 1.2960 ms/op 1.12
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 19.617 ms/op 18.924 ms/op 1.04
BeaconState.hashTreeRoot - 1 balances 68.038 us/op 68.372 us/op 1.00
BeaconState.hashTreeRoot - 32 balances 701.12 us/op 727.87 us/op 0.96
BeaconState.hashTreeRoot - 512 balances 7.2465 ms/op 7.1291 ms/op 1.02
BeaconState.hashTreeRoot - 250000 balances 116.46 ms/op 117.49 ms/op 0.99
aggregationBits - 2048 els - zipIndexesInBitList 41.587 us/op 24.297 us/op 1.71
regular array get 100000 times 80.954 us/op 61.926 us/op 1.31
wrappedArray get 100000 times 80.771 us/op 60.568 us/op 1.33
arrayWithProxy get 100000 times 34.644 ms/op 27.057 ms/op 1.28
ssz.Root.equals 594.00 ns/op 427.00 ns/op 1.39
byteArrayEquals 577.00 ns/op 425.00 ns/op 1.36
shuffle list - 16384 els 13.200 ms/op 11.381 ms/op 1.16
shuffle list - 250000 els 204.16 ms/op 168.93 ms/op 1.21
processSlot - 1 slots 16.104 us/op 14.582 us/op 1.10
processSlot - 32 slots 2.2161 ms/op 1.9513 ms/op 1.14
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 472.85 us/op 403.08 us/op 1.17
getCommitteeAssignments - req 1 vs - 250000 vc 6.3167 ms/op 5.3718 ms/op 1.18
getCommitteeAssignments - req 100 vs - 250000 vc 8.7501 ms/op 7.8697 ms/op 1.11
getCommitteeAssignments - req 1000 vs - 250000 vc 9.3890 ms/op 8.4469 ms/op 1.11
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 12.050 ns/op 7.8300 ns/op 1.54
state getBlockRootAtSlot - 250000 vs - 7PWei 1.3573 us/op 1.1307 us/op 1.20
computeProposers - vc 250000 19.931 ms/op 17.634 ms/op 1.13
computeEpochShuffling - vc 250000 202.31 ms/op 171.68 ms/op 1.18
getNextSyncCommittee - vc 250000 329.75 ms/op 290.54 ms/op 1.13

by benchmarkbot/action

@wemeetagain wemeetagain merged commit aa97981 into unstable Sep 1, 2022
@wemeetagain wemeetagain deleted the dapplion/deprecate-step branch September 1, 2022 15:17
@g11tech g11tech mentioned this pull request Sep 13, 2022
29 tasks
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