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

Ensure proto array weights are coherent #3524

Merged
merged 1 commit into from
Dec 15, 2021
Merged

Conversation

wemeetagain
Copy link
Member

Description

Add an additional loop inside proto array to ensure weights are coherent.

@codeclimate
Copy link

codeclimate bot commented Dec 15, 2021

Code Climate has analyzed commit ea2d423 and detected 0 issues on this pull request.

View more on Code Climate.

@codecov
Copy link

codecov bot commented Dec 15, 2021

Codecov Report

Merging #3524 (7d70bd9) into master (434891d) will not change coverage.
The diff coverage is n/a.

❗ Current head 7d70bd9 differs from pull request most recent head ea2d423. Consider uploading reports for the commit ea2d423 to get more accurate results

@@           Coverage Diff           @@
##           master    #3524   +/-   ##
=======================================
  Coverage   37.90%   37.90%           
=======================================
  Files         308      308           
  Lines        8129     8129           
  Branches     1248     1248           
=======================================
  Hits         3081     3081           
  Misses       4900     4900           
  Partials      148      148           

@github-actions
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 7d70bd9 Previous: 434891d Ratio
BeaconState.hashTreeRoot - No change 598.00 ns/op 703.00 ns/op 0.85
BeaconState.hashTreeRoot - 1 full validator 69.376 us/op 94.830 us/op 0.73
BeaconState.hashTreeRoot - 32 full validator 1.1912 ms/op 1.3836 ms/op 0.86
BeaconState.hashTreeRoot - 512 full validator 14.985 ms/op 16.466 ms/op 0.91
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 74.263 us/op 94.077 us/op 0.79
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.2670 ms/op 1.6173 ms/op 0.78
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 17.480 ms/op 21.070 ms/op 0.83
BeaconState.hashTreeRoot - 1 balances 58.344 us/op 65.810 us/op 0.89
BeaconState.hashTreeRoot - 32 balances 467.66 us/op 562.09 us/op 0.83
BeaconState.hashTreeRoot - 512 balances 4.5020 ms/op 5.7600 ms/op 0.78
BeaconState.hashTreeRoot - 250000 balances 87.725 ms/op 101.04 ms/op 0.87
processSlot - 1 slots 35.847 us/op 40.214 us/op 0.89
processSlot - 32 slots 2.0626 ms/op 2.5535 ms/op 0.81
getCommitteeAssignments - req 1 vs - 250000 vc 5.2307 ms/op 6.2947 ms/op 0.83
getCommitteeAssignments - req 100 vs - 250000 vc 7.2670 ms/op 8.7003 ms/op 0.84
getCommitteeAssignments - req 1000 vs - 250000 vc 7.7700 ms/op 9.2347 ms/op 0.84
computeProposers - vc 250000 21.095 ms/op 24.316 ms/op 0.87
computeEpochShuffling - vc 250000 167.43 ms/op 216.19 ms/op 0.77
getNextSyncCommittee - vc 250000 308.76 ms/op 394.88 ms/op 0.78
altair processAttestation - 250000 vs - 7PWei normalcase 37.930 ms/op 40.822 ms/op 0.93
altair processAttestation - 250000 vs - 7PWei worstcase 40.455 ms/op 48.651 ms/op 0.83
altair processAttestation - setStatus - 1/6 committees join 8.5472 ms/op 10.529 ms/op 0.81
altair processAttestation - setStatus - 1/3 committees join 20.284 ms/op 22.265 ms/op 0.91
altair processAttestation - setStatus - 1/2 committees join 28.062 ms/op 35.943 ms/op 0.78
altair processAttestation - setStatus - 2/3 committees join 36.967 ms/op 48.012 ms/op 0.77
altair processAttestation - setStatus - 4/5 committees join 44.130 ms/op 58.440 ms/op 0.76
altair processAttestation - setStatus - 100% committees join 59.653 ms/op 69.434 ms/op 0.86
altair processAttestation - updateEpochParticipants - 1/6 committees join 8.8828 ms/op 9.8703 ms/op 0.90
altair processAttestation - updateEpochParticipants - 1/3 committees join 17.961 ms/op 21.147 ms/op 0.85
altair processAttestation - updateEpochParticipants - 1/2 committees join 29.358 ms/op 30.709 ms/op 0.96
altair processAttestation - updateEpochParticipants - 2/3 committees join 31.251 ms/op 28.613 ms/op 1.09
altair processAttestation - updateEpochParticipants - 4/5 committees join 31.144 ms/op 29.975 ms/op 1.04
altair processAttestation - updateEpochParticipants - 100% committees join 33.304 ms/op 32.665 ms/op 1.02
altair processAttestation - updateAllStatus 24.877 ms/op 21.842 ms/op 1.14
altair processBlock - 250000 vs - 7PWei normalcase 45.109 ms/op 47.324 ms/op 0.95
altair processBlock - 250000 vs - 7PWei worstcase 100.22 ms/op 130.47 ms/op 0.77
altair processEpoch - mainnet_e81889 946.07 ms/op 1.1132 s/op 0.85
mainnet_e81889 - altair beforeProcessEpoch 271.82 ms/op 299.08 ms/op 0.91
mainnet_e81889 - altair processJustificationAndFinalization 52.493 us/op 71.742 us/op 0.73
mainnet_e81889 - altair processInactivityUpdates 18.892 ms/op 21.726 ms/op 0.87
mainnet_e81889 - altair processRewardsAndPenalties 118.64 ms/op 139.23 ms/op 0.85
mainnet_e81889 - altair processRegistryUpdates 6.0880 us/op 10.158 us/op 0.60
mainnet_e81889 - altair processSlashings 1.0510 us/op 2.9870 us/op 0.35
mainnet_e81889 - altair processEth1DataReset 1.0600 us/op 3.1350 us/op 0.34
mainnet_e81889 - altair processEffectiveBalanceUpdates 12.208 ms/op 13.221 ms/op 0.92
mainnet_e81889 - altair processSlashingsReset 8.3750 us/op 16.431 us/op 0.51
mainnet_e81889 - altair processRandaoMixesReset 13.215 us/op 20.581 us/op 0.64
mainnet_e81889 - altair processHistoricalRootsUpdate 1.4390 us/op 4.4780 us/op 0.32
mainnet_e81889 - altair processParticipationFlagUpdates 150.33 ms/op 172.89 ms/op 0.87
mainnet_e81889 - altair processSyncCommitteeUpdates 1.1800 us/op 2.4450 us/op 0.48
mainnet_e81889 - altair afterProcessEpoch 209.43 ms/op 270.33 ms/op 0.77
altair processInactivityUpdates - 250000 normalcase 60.063 ms/op 74.422 ms/op 0.81
altair processInactivityUpdates - 250000 worstcase 62.948 ms/op 72.717 ms/op 0.87
altair processParticipationFlagUpdates - 250000 anycase 85.921 ms/op 100.48 ms/op 0.86
altair processRewardsAndPenalties - 250000 normalcase 112.56 ms/op 137.66 ms/op 0.82
altair processRewardsAndPenalties - 250000 worstcase 101.67 ms/op 154.51 ms/op 0.66
altair processSyncCommitteeUpdates - 250000 360.12 ms/op 424.76 ms/op 0.85
Tree 40 250000 create 445.71 ms/op 524.58 ms/op 0.85
Tree 40 250000 get(125000) 291.99 ns/op 381.43 ns/op 0.77
Tree 40 250000 set(125000) 1.3113 us/op 1.6322 us/op 0.80
Tree 40 250000 toArray() 37.981 ms/op 44.389 ms/op 0.86
Tree 40 250000 iterate all - toArray() + loop 38.520 ms/op 44.649 ms/op 0.86
Tree 40 250000 iterate all - get(i) 110.91 ms/op 138.08 ms/op 0.80
MutableVector 250000 create 21.382 ms/op 29.195 ms/op 0.73
MutableVector 250000 get(125000) 14.337 ns/op 16.991 ns/op 0.84
MutableVector 250000 set(125000) 541.83 ns/op 596.28 ns/op 0.91
MutableVector 250000 toArray() 8.3586 ms/op 9.7740 ms/op 0.86
MutableVector 250000 iterate all - toArray() + loop 8.7377 ms/op 10.721 ms/op 0.81
MutableVector 250000 iterate all - get(i) 3.1113 ms/op 3.6417 ms/op 0.85
Array 250000 create 5.5704 ms/op 6.1312 ms/op 0.91
Array 250000 clone - spread 2.2353 ms/op 2.5135 ms/op 0.89
Array 250000 get(125000) 1.0300 ns/op 1.1550 ns/op 0.89
Array 250000 set(125000) 1.0340 ns/op 1.1430 ns/op 0.90
Array 250000 iterate all - loop 167.86 us/op 201.23 us/op 0.83
aggregationBits - 2048 els - readonlyValues 235.88 us/op 253.81 us/op 0.93
aggregationBits - 2048 els - zipIndexesInBitList 39.930 us/op 43.312 us/op 0.92
regular array get 100000 times 67.388 us/op 78.964 us/op 0.85
wrappedArray get 100000 times 67.379 us/op 77.983 us/op 0.86
arrayWithProxy get 100000 times 28.923 ms/op 33.695 ms/op 0.86
ssz.Root.equals 1.1650 us/op 1.2700 us/op 0.92
ssz.Root.equals with valueOf() 1.3590 us/op 1.5810 us/op 0.86
byteArrayEquals with valueOf() 1.2900 us/op 1.5360 us/op 0.84
phase0 processBlock - 250000 vs - 7PWei normalcase 9.7596 ms/op 12.451 ms/op 0.78
phase0 processBlock - 250000 vs - 7PWei worstcase 66.524 ms/op 86.638 ms/op 0.77
phase0 afterProcessEpoch - 250000 vs - 7PWei 183.62 ms/op 245.52 ms/op 0.75
phase0 beforeProcessEpoch - 250000 vs - 7PWei 499.71 ms/op 632.99 ms/op 0.79
phase0 processEpoch - mainnet_e58758 768.47 ms/op 887.57 ms/op 0.87
mainnet_e58758 - phase0 beforeProcessEpoch 471.98 ms/op 524.63 ms/op 0.90
mainnet_e58758 - phase0 processJustificationAndFinalization 47.869 us/op 69.199 us/op 0.69
mainnet_e58758 - phase0 processRewardsAndPenalties 115.18 ms/op 119.32 ms/op 0.97
mainnet_e58758 - phase0 processRegistryUpdates 32.815 us/op 44.992 us/op 0.73
mainnet_e58758 - phase0 processSlashings 1.2550 us/op 3.3880 us/op 0.37
mainnet_e58758 - phase0 processEth1DataReset 1.3690 us/op 2.8090 us/op 0.49
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 9.4216 ms/op 10.999 ms/op 0.86
mainnet_e58758 - phase0 processSlashingsReset 7.5910 us/op 14.233 us/op 0.53
mainnet_e58758 - phase0 processRandaoMixesReset 13.633 us/op 19.410 us/op 0.70
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.5440 us/op 3.5940 us/op 0.43
mainnet_e58758 - phase0 processParticipationRecordUpdates 8.0150 us/op 12.972 us/op 0.62
mainnet_e58758 - phase0 afterProcessEpoch 181.88 ms/op 222.00 ms/op 0.82
phase0 processEffectiveBalanceUpdates - 250000 normalcase 11.077 ms/op 12.326 ms/op 0.90
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.1025 s/op 1.2129 s/op 0.91
phase0 processRegistryUpdates - 250000 normalcase 32.625 us/op 46.469 us/op 0.70
phase0 processRegistryUpdates - 250000 badcase_full_deposits 2.7332 ms/op 3.0066 ms/op 0.91
phase0 processRegistryUpdates - 250000 worstcase 0.5 1.4247 s/op 1.6652 s/op 0.86
phase0 getAttestationDeltas - 250000 normalcase 44.791 ms/op 43.458 ms/op 1.03
phase0 getAttestationDeltas - 250000 worstcase 37.894 ms/op 41.998 ms/op 0.90
phase0 processSlashings - 250000 worstcase 29.115 ms/op 35.264 ms/op 0.83
shuffle list - 16384 els 12.833 ms/op 15.468 ms/op 0.83
shuffle list - 250000 els 184.47 ms/op 226.79 ms/op 0.81
getEffectiveBalances - 250000 vs - 7PWei 13.161 ms/op 12.876 ms/op 1.02
computeDeltas 3.9993 ms/op 4.1004 ms/op 0.98
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.3934 ms/op 2.4471 ms/op 0.98
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 678.63 us/op 743.90 us/op 0.91
BLS verify - blst-native 1.8630 ms/op 2.2111 ms/op 0.84
BLS verifyMultipleSignatures 3 - blst-native 3.8201 ms/op 4.5058 ms/op 0.85
BLS verifyMultipleSignatures 8 - blst-native 8.2327 ms/op 9.6909 ms/op 0.85
BLS verifyMultipleSignatures 32 - blst-native 29.894 ms/op 35.325 ms/op 0.85
BLS aggregatePubkeys 32 - blst-native 39.432 us/op 47.401 us/op 0.83
BLS aggregatePubkeys 128 - blst-native 153.94 us/op 184.73 us/op 0.83
getAttestationsForBlock 92.390 ms/op 89.747 ms/op 1.03
CheckpointStateCache - add get delete 16.237 us/op 17.931 us/op 0.91
validate gossip signedAggregateAndProof - struct 4.4742 ms/op 5.4102 ms/op 0.83
validate gossip signedAggregateAndProof - treeBacked 4.5708 ms/op 5.1671 ms/op 0.88
validate gossip attestation - struct 2.1139 ms/op 2.4632 ms/op 0.86
validate gossip attestation - treeBacked 2.0962 ms/op 2.5031 ms/op 0.84
Object access 1 prop 0.35300 ns/op 0.39800 ns/op 0.89
Map access 1 prop 0.27600 ns/op 0.36100 ns/op 0.76
Object get x1000 16.740 ns/op 20.437 ns/op 0.82
Map get x1000 0.96900 ns/op 1.1450 ns/op 0.85
Object set x1000 119.42 ns/op 127.38 ns/op 0.94
Map set x1000 74.934 ns/op 76.957 ns/op 0.97
Return object 10000 times 0.37180 ns/op 0.44060 ns/op 0.84
Throw Error 10000 times 6.0551 us/op 6.9765 us/op 0.87

by benchmarkbot/action

@dapplion dapplion merged commit 7f4a590 into master Dec 15, 2021
@dapplion dapplion deleted the cayman/fix-proto-array branch December 15, 2021 18:17
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.

None yet

3 participants