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

Remove unstable performance test processParticipationFlagUpdates #3894

Merged
merged 1 commit into from
Apr 8, 2022

Conversation

dapplion
Copy link
Contributor

@dapplion dapplion commented Apr 7, 2022

Motivation

Before ssz bump #3760 processParticipationFlagUpdates used to take 300ms so there was a dedicated performance test for it. Now it takes < 0.1 ms so the performance test is too unstable and useless.

Description

Remove unstable performance test processParticipationFlagUpdates

@github-actions
Copy link
Contributor

github-actions bot commented Apr 7, 2022

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 72fc03d Previous: bdae023 Ratio
BeaconState.hashTreeRoot - No change 557.00 ns/op 429.00 ns/op 1.30
BeaconState.hashTreeRoot - 1 full validator 67.848 us/op 55.209 us/op 1.23
BeaconState.hashTreeRoot - 32 full validator 653.74 us/op 544.53 us/op 1.20
BeaconState.hashTreeRoot - 512 full validator 6.9515 ms/op 6.0315 ms/op 1.15
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 83.684 us/op 68.541 us/op 1.22
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.1187 ms/op 957.65 us/op 1.17
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 14.862 ms/op 13.408 ms/op 1.11
BeaconState.hashTreeRoot - 1 balances 63.836 us/op 53.590 us/op 1.19
BeaconState.hashTreeRoot - 32 balances 568.74 us/op 465.91 us/op 1.22
BeaconState.hashTreeRoot - 512 balances 5.4107 ms/op 4.5948 ms/op 1.18
BeaconState.hashTreeRoot - 250000 balances 108.94 ms/op 88.049 ms/op 1.24
processSlot - 1 slots 11.081 us/op 9.6980 us/op 1.14
processSlot - 32 slots 1.8199 ms/op 1.5565 ms/op 1.17
getCommitteeAssignments - req 1 vs - 250000 vc 5.2953 ms/op 5.2961 ms/op 1.00
getCommitteeAssignments - req 100 vs - 250000 vc 7.8441 ms/op 7.3581 ms/op 1.07
getCommitteeAssignments - req 1000 vs - 250000 vc 8.3838 ms/op 7.8465 ms/op 1.07
computeProposers - vc 250000 17.210 ms/op 14.962 ms/op 1.15
computeEpochShuffling - vc 250000 166.91 ms/op 144.80 ms/op 1.15
getNextSyncCommittee - vc 250000 286.03 ms/op 270.79 ms/op 1.06
altair processAttestation - 250000 vs - 7PWei normalcase 3.3653 ms/op 4.2195 ms/op 0.80
altair processAttestation - 250000 vs - 7PWei worstcase 4.9006 ms/op 5.7939 ms/op 0.85
altair processAttestation - setStatus - 1/6 committees join 168.05 us/op 197.88 us/op 0.85
altair processAttestation - setStatus - 1/3 committees join 335.57 us/op 383.17 us/op 0.88
altair processAttestation - setStatus - 1/2 committees join 482.54 us/op 476.36 us/op 1.01
altair processAttestation - setStatus - 2/3 committees join 636.94 us/op 615.08 us/op 1.04
altair processAttestation - setStatus - 4/5 committees join 879.42 us/op 963.42 us/op 0.91
altair processAttestation - setStatus - 100% committees join 1.0622 ms/op 1.1588 ms/op 0.92
altair processBlock - 250000 vs - 7PWei normalcase 20.752 ms/op 23.707 ms/op 0.88
altair processBlock - 250000 vs - 7PWei normalcase hashState 34.743 ms/op 33.149 ms/op 1.05
altair processBlock - 250000 vs - 7PWei worstcase 73.936 ms/op 67.208 ms/op 1.10
altair processBlock - 250000 vs - 7PWei worstcase hashState 101.39 ms/op 95.179 ms/op 1.07
altair processEth1Data - 250000 vs - 7PWei normalcase 747.41 us/op 721.47 us/op 1.04
altair processEpoch - mainnet_e81889 491.29 ms/op 460.26 ms/op 1.07
mainnet_e81889 - altair beforeProcessEpoch 109.31 ms/op 130.41 ms/op 0.84
mainnet_e81889 - altair processJustificationAndFinalization 21.046 us/op 25.750 us/op 0.82
mainnet_e81889 - altair processInactivityUpdates 8.4774 ms/op 9.4497 ms/op 0.90
mainnet_e81889 - altair processRewardsAndPenalties 102.67 ms/op 118.23 ms/op 0.87
mainnet_e81889 - altair processRegistryUpdates 2.6790 us/op 3.6160 us/op 0.74
mainnet_e81889 - altair processSlashings 880.00 ns/op 1.2480 us/op 0.71
mainnet_e81889 - altair processEth1DataReset 758.00 ns/op 1.1410 us/op 0.66
mainnet_e81889 - altair processEffectiveBalanceUpdates 5.8017 ms/op 5.6596 ms/op 1.03
mainnet_e81889 - altair processSlashingsReset 4.0030 us/op 5.8400 us/op 0.69
mainnet_e81889 - altair processRandaoMixesReset 6.8430 us/op 6.4990 us/op 1.05
mainnet_e81889 - altair processHistoricalRootsUpdate 1.0440 us/op 1.4560 us/op 0.72
mainnet_e81889 - altair processParticipationFlagUpdates 6.9730 us/op 2.8880 us/op 2.41
mainnet_e81889 - altair processSyncCommitteeUpdates 915.00 ns/op 1.0160 us/op 0.90
mainnet_e81889 - altair afterProcessEpoch 217.87 ms/op 203.26 ms/op 1.07
altair processInactivityUpdates - 250000 normalcase 26.038 ms/op 29.296 ms/op 0.89
altair processInactivityUpdates - 250000 worstcase 22.326 ms/op 26.093 ms/op 0.86
altair processRewardsAndPenalties - 250000 normalcase 86.942 ms/op 113.30 ms/op 0.77
altair processRewardsAndPenalties - 250000 worstcase 84.756 ms/op 74.667 ms/op 1.14
altair processSyncCommitteeUpdates - 250000 297.90 ms/op 269.26 ms/op 1.11
Tree 40 250000 create 553.48 ms/op 692.29 ms/op 0.80
Tree 40 250000 get(125000) 251.16 ns/op 294.00 ns/op 0.85
Tree 40 250000 set(125000) 1.7964 us/op 2.3343 us/op 0.77
Tree 40 250000 toArray() 25.954 ms/op 31.589 ms/op 0.82
Tree 40 250000 iterate all - toArray() + loop 26.070 ms/op 31.719 ms/op 0.82
Tree 40 250000 iterate all - get(i) 112.98 ms/op 109.27 ms/op 1.03
MutableVector 250000 create 12.115 ms/op 14.356 ms/op 0.84
MutableVector 250000 get(125000) 10.962 ns/op 13.403 ns/op 0.82
MutableVector 250000 set(125000) 489.06 ns/op 612.61 ns/op 0.80
MutableVector 250000 toArray() 5.2746 ms/op 8.7976 ms/op 0.60
MutableVector 250000 iterate all - toArray() + loop 5.4834 ms/op 6.6997 ms/op 0.82
MutableVector 250000 iterate all - get(i) 2.7035 ms/op 3.2915 ms/op 0.82
Array 250000 create 5.2104 ms/op 5.3654 ms/op 0.97
Array 250000 clone - spread 2.1527 ms/op 1.9112 ms/op 1.13
Array 250000 get(125000) 1.1780 ns/op 0.88000 ns/op 1.34
Array 250000 set(125000) 1.1710 ns/op 0.89000 ns/op 1.32
Array 250000 iterate all - loop 151.97 us/op 149.47 us/op 1.02
effectiveBalanceIncrements clone Uint8Array 300000 43.374 us/op 74.772 us/op 0.58
effectiveBalanceIncrements clone MutableVector 300000 721.00 ns/op 567.00 ns/op 1.27
effectiveBalanceIncrements rw all Uint8Array 300000 181.36 us/op 266.37 us/op 0.68
effectiveBalanceIncrements rw all MutableVector 300000 154.72 ms/op 153.77 ms/op 1.01
aggregationBits - 2048 els - zipIndexesInBitList 26.143 us/op 24.371 us/op 1.07
regular array get 100000 times 61.283 us/op 59.503 us/op 1.03
wrappedArray get 100000 times 63.774 us/op 59.536 us/op 1.07
arrayWithProxy get 100000 times 28.705 ms/op 25.297 ms/op 1.13
ssz.Root.equals 527.00 ns/op 412.00 ns/op 1.28
byteArrayEquals 508.00 ns/op 375.00 ns/op 1.35
phase0 processBlock - 250000 vs - 7PWei normalcase 3.2551 ms/op 3.2742 ms/op 0.99
phase0 processBlock - 250000 vs - 7PWei worstcase 51.243 ms/op 46.254 ms/op 1.11
phase0 afterProcessEpoch - 250000 vs - 7PWei 202.34 ms/op 169.18 ms/op 1.20
phase0 beforeProcessEpoch - 250000 vs - 7PWei 57.396 ms/op 72.018 ms/op 0.80
phase0 processEpoch - mainnet_e58758 529.65 ms/op 503.19 ms/op 1.05
mainnet_e58758 - phase0 beforeProcessEpoch 183.54 ms/op 207.15 ms/op 0.89
mainnet_e58758 - phase0 processJustificationAndFinalization 19.719 us/op 26.561 us/op 0.74
mainnet_e58758 - phase0 processRewardsAndPenalties 67.464 ms/op 68.179 ms/op 0.99
mainnet_e58758 - phase0 processRegistryUpdates 10.376 us/op 9.9520 us/op 1.04
mainnet_e58758 - phase0 processSlashings 864.00 ns/op 1.1900 us/op 0.73
mainnet_e58758 - phase0 processEth1DataReset 939.00 ns/op 1.0160 us/op 0.92
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 4.7919 ms/op 5.2057 ms/op 0.92
mainnet_e58758 - phase0 processSlashingsReset 5.2480 us/op 5.8170 us/op 0.90
mainnet_e58758 - phase0 processRandaoMixesReset 4.8030 us/op 7.0510 us/op 0.68
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.5090 us/op 1.2390 us/op 1.22
mainnet_e58758 - phase0 processParticipationRecordUpdates 6.3520 us/op 5.2080 us/op 1.22
mainnet_e58758 - phase0 afterProcessEpoch 178.48 ms/op 151.31 ms/op 1.18
phase0 processEffectiveBalanceUpdates - 250000 normalcase 5.4753 ms/op 5.6404 ms/op 0.97
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 6.2272 ms/op 6.7594 ms/op 0.92
phase0 processRegistryUpdates - 250000 normalcase 7.0210 us/op 8.3740 us/op 0.84
phase0 processRegistryUpdates - 250000 badcase_full_deposits 414.15 us/op 369.76 us/op 1.12
phase0 processRegistryUpdates - 250000 worstcase 0.5 186.99 ms/op 208.70 ms/op 0.90
phase0 getAttestationDeltas - 250000 normalcase 13.152 ms/op 13.553 ms/op 0.97
phase0 getAttestationDeltas - 250000 worstcase 12.048 ms/op 13.502 ms/op 0.89
phase0 processSlashings - 250000 worstcase 5.3984 ms/op 5.0298 ms/op 1.07
shuffle list - 16384 els 12.506 ms/op 9.4502 ms/op 1.32
shuffle list - 250000 els 167.98 ms/op 136.69 ms/op 1.23
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 370.52 us/op 361.55 us/op 1.02
pass gossip attestations to forkchoice per slot 3.6208 ms/op 3.4210 ms/op 1.06
computeDeltas 3.2150 ms/op 3.1111 ms/op 1.03
computeProposerBoostScoreFromBalances 452.48 us/op 443.82 us/op 1.02
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.9229 ms/op 2.3192 ms/op 0.83
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 61.815 us/op 76.707 us/op 0.81
BLS verify - blst-native 2.1728 ms/op 1.6386 ms/op 1.33
BLS verifyMultipleSignatures 3 - blst-native 4.4817 ms/op 3.3560 ms/op 1.34
BLS verifyMultipleSignatures 8 - blst-native 9.6938 ms/op 7.2247 ms/op 1.34
BLS verifyMultipleSignatures 32 - blst-native 35.209 ms/op 26.192 ms/op 1.34
BLS aggregatePubkeys 32 - blst-native 47.099 us/op 35.134 us/op 1.34
BLS aggregatePubkeys 128 - blst-native 183.71 us/op 135.62 us/op 1.35
getAttestationsForBlock 50.735 ms/op 59.928 ms/op 0.85
CheckpointStateCache - add get delete 10.543 us/op 9.5960 us/op 1.10
validate gossip signedAggregateAndProof - struct 5.0124 ms/op 3.7719 ms/op 1.33
validate gossip attestation - struct 2.3716 ms/op 1.7764 ms/op 1.34
pickEth1Vote - no votes 2.2452 ms/op 2.0038 ms/op 1.12
pickEth1Vote - max votes 18.861 ms/op 20.193 ms/op 0.93
pickEth1Vote - Eth1Data hashTreeRoot value x2048 13.548 ms/op 10.901 ms/op 1.24
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 21.563 ms/op 20.762 ms/op 1.04
pickEth1Vote - Eth1Data fastSerialize value x2048 1.5805 ms/op 1.4939 ms/op 1.06
pickEth1Vote - Eth1Data fastSerialize tree x2048 12.861 ms/op 14.047 ms/op 0.92
bytes32 toHexString 1.0190 us/op 914.00 ns/op 1.11
bytes32 Buffer.toString(hex) 763.00 ns/op 619.00 ns/op 1.23
bytes32 Buffer.toString(hex) from Uint8Array 994.00 ns/op 856.00 ns/op 1.16
bytes32 Buffer.toString(hex) + 0x 751.00 ns/op 623.00 ns/op 1.21
Object access 1 prop 0.33900 ns/op 0.31100 ns/op 1.09
Map access 1 prop 0.31100 ns/op 0.26900 ns/op 1.16
Object get x1000 11.103 ns/op 15.276 ns/op 0.73
Map get x1000 0.95500 ns/op 0.85800 ns/op 1.11
Object set x1000 70.664 ns/op 102.27 ns/op 0.69
Map set x1000 44.211 ns/op 62.419 ns/op 0.71
Return object 10000 times 0.43810 ns/op 0.33060 ns/op 1.33
Throw Error 10000 times 6.0304 us/op 5.3954 us/op 1.12
enrSubnets - fastDeserialize 64 bits 835.00 ns/op 857.00 ns/op 0.97
enrSubnets - ssz BitVector 64 bits 672.00 ns/op 547.00 ns/op 1.23
enrSubnets - fastDeserialize 4 bits 459.00 ns/op 364.00 ns/op 1.26
enrSubnets - ssz BitVector 4 bits 682.00 ns/op 576.00 ns/op 1.18
RateTracker 1000000 limit, 1 obj count per request 181.75 ns/op 165.19 ns/op 1.10
RateTracker 1000000 limit, 2 obj count per request 139.98 ns/op 124.53 ns/op 1.12
RateTracker 1000000 limit, 4 obj count per request 107.88 ns/op 104.26 ns/op 1.03
RateTracker 1000000 limit, 8 obj count per request 97.132 ns/op 94.616 ns/op 1.03
RateTracker with prune 3.8980 us/op 3.9950 us/op 0.98
array of 16000 items push then shift 51.614 us/op 2.7326 us/op 18.89
LinkedList of 16000 items push then shift 12.297 ns/op 15.780 ns/op 0.78
array of 16000 items push then pop 173.60 ns/op 192.99 ns/op 0.90
LinkedList of 16000 items push then pop 11.622 ns/op 13.813 ns/op 0.84
array of 24000 items push then shift 77.362 us/op 4.0420 us/op 19.14
LinkedList of 24000 items push then shift 12.673 ns/op 19.192 ns/op 0.66
array of 24000 items push then pop 178.59 ns/op 216.19 ns/op 0.83
LinkedList of 24000 items push then pop 11.721 ns/op 17.140 ns/op 0.68

by benchmarkbot/action

@codecov
Copy link

codecov bot commented Apr 7, 2022

Codecov Report

Merging #3894 (a05f7db) into master (bdae023) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #3894   +/-   ##
=======================================
  Coverage   36.60%   36.60%           
=======================================
  Files         325      325           
  Lines        8975     8975           
  Branches     1407     1407           
=======================================
  Hits         3285     3285           
  Misses       5547     5547           
  Partials      143      143           

@twoeths twoeths merged commit bc9afa7 into master Apr 8, 2022
@twoeths twoeths deleted the dapplion/remove-processParticipationFlagUpdates branch April 8, 2022 01:20
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