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

Add merge fork transition process #3197

Merged
merged 3 commits into from
Sep 16, 2021
Merged

Add merge fork transition process #3197

merged 3 commits into from
Sep 16, 2021

Conversation

dapplion
Copy link
Contributor

Motivation

Part of #3076

Incomplete work until the mechanism to decide total terminal difficulty is clarified. Follow ethereum/consensus-specs#2603

Description

Closes #3196

@codeclimate
Copy link

codeclimate bot commented Sep 16, 2021

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

View more on Code Climate.

@github-actions
Copy link
Contributor

github-actions bot commented Sep 16, 2021

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: a693e1e Previous: 6a5b2fe Ratio
BeaconState.hashTreeRoot - No change 696.00 ns/op 802.00 ns/op 0.87
BeaconState.hashTreeRoot - 1 full validator 80.179 us/op 98.106 us/op 0.82
BeaconState.hashTreeRoot - 32 full validator 1.2954 ms/op 1.3911 ms/op 0.93
BeaconState.hashTreeRoot - 512 full validator 16.694 ms/op 18.005 ms/op 0.93
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 90.213 us/op 100.92 us/op 0.89
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.2023 ms/op 1.4175 ms/op 0.85
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 18.813 ms/op 20.723 ms/op 0.91
BeaconState.hashTreeRoot - 1 balances 64.317 us/op 71.136 us/op 0.90
BeaconState.hashTreeRoot - 32 balances 563.43 us/op 580.80 us/op 0.97
BeaconState.hashTreeRoot - 512 balances 5.5478 ms/op 5.6586 ms/op 0.98
BeaconState.hashTreeRoot - 250000 balances 92.941 ms/op 109.13 ms/op 0.85
processSlot - 1 slots 43.476 us/op 71.481 us/op 0.61
processSlot - 32 slots 2.1815 ms/op 2.9609 ms/op 0.74
getCommitteeAssignments - req 1 vs - 250000 vc 5.1894 ms/op 5.1635 ms/op 1.01
getCommitteeAssignments - req 100 vs - 250000 vc 7.0576 ms/op 7.1424 ms/op 0.99
getCommitteeAssignments - req 1000 vs - 250000 vc 7.6606 ms/op 7.9532 ms/op 0.96
computeProposers - vc 250000 21.371 ms/op 23.862 ms/op 0.90
computeEpochShuffling - vc 250000 182.37 ms/op 201.80 ms/op 0.90
getNextSyncCommittee - vc 250000 345.31 ms/op 410.29 ms/op 0.84
altair processBlock - 250000 vs - 7PWei normalcase 78.478 ms/op 98.487 ms/op 0.80
altair processBlock - 250000 vs - 7PWei worstcase 214.10 ms/op 260.99 ms/op 0.82
altair processEpoch - pyrmont_e62330 436.20 ms/op 515.36 ms/op 0.85
pyrmont_e62330 - altair beforeProcessEpoch 145.35 ms/op 180.70 ms/op 0.80
pyrmont_e62330 - altair processJustificationAndFinalization 109.44 us/op 122.72 us/op 0.89
pyrmont_e62330 - altair processInactivityUpdates 8.1606 ms/op 8.9825 ms/op 0.91
pyrmont_e62330 - altair processRewardsAndPenalties 56.712 ms/op 60.272 ms/op 0.94
pyrmont_e62330 - altair processRegistryUpdates 19.934 us/op 22.080 us/op 0.90
pyrmont_e62330 - altair processSlashings 4.4660 us/op 5.6710 us/op 0.79
pyrmont_e62330 - altair processEth1DataReset 3.1920 us/op 5.5540 us/op 0.57
pyrmont_e62330 - altair processEffectiveBalanceUpdates 5.6247 ms/op 6.2278 ms/op 0.90
pyrmont_e62330 - altair processSlashingsReset 21.182 us/op 32.149 us/op 0.66
pyrmont_e62330 - altair processRandaoMixesReset 37.291 us/op 42.363 us/op 0.88
pyrmont_e62330 - altair processHistoricalRootsUpdate 5.4900 us/op 7.1620 us/op 0.77
pyrmont_e62330 - altair processParticipationFlagUpdates 44.150 ms/op 47.971 ms/op 0.92
pyrmont_e62330 - altair processSyncCommitteeUpdates 3.6640 us/op 4.6580 us/op 0.79
pyrmont_e62330 - altair afterProcessEpoch 113.98 ms/op 128.06 ms/op 0.89
altair processInactivityUpdates - 250000 normalcase 59.829 ms/op 74.544 ms/op 0.80
altair processInactivityUpdates - 250000 worstcase 65.156 ms/op 69.728 ms/op 0.93
altair processParticipationFlagUpdates - 250000 anycase 84.569 ms/op 93.323 ms/op 0.91
altair processRewardsAndPenalties - 250000 normalcase 105.04 ms/op 123.40 ms/op 0.85
altair processRewardsAndPenalties - 250000 worstcase 111.79 ms/op 123.03 ms/op 0.91
altair processSyncCommitteeUpdates - 250000 356.10 ms/op 470.32 ms/op 0.76
Tree 40 250000 create 432.23 ms/op 561.03 ms/op 0.77
Tree 40 250000 get(125000) 249.21 ns/op 277.33 ns/op 0.90
Tree 40 250000 set(125000) 1.4064 us/op 1.6958 us/op 0.83
Tree 40 250000 toArray() 36.510 ms/op 48.298 ms/op 0.76
Tree 40 250000 iterate all - toArray() + loop 39.659 ms/op 39.225 ms/op 1.01
Tree 40 250000 iterate all - get(i) 111.87 ms/op 106.46 ms/op 1.05
MutableVector 250000 create 23.065 ms/op 18.231 ms/op 1.27
MutableVector 250000 get(125000) 14.094 ns/op 12.403 ns/op 1.14
MutableVector 250000 set(125000) 521.68 ns/op 562.16 ns/op 0.93
MutableVector 250000 toArray() 7.7905 ms/op 7.1420 ms/op 1.09
MutableVector 250000 iterate all - toArray() + loop 8.2879 ms/op 8.0657 ms/op 1.03
MutableVector 250000 iterate all - get(i) 3.6985 ms/op 3.4336 ms/op 1.08
Array 250000 create 5.2013 ms/op 5.6274 ms/op 0.92
Array 250000 clone - spread 1.8295 ms/op 1.8191 ms/op 1.01
Array 250000 get(125000) 1.1790 ns/op 0.84600 ns/op 1.39
Array 250000 set(125000) 1.2180 ns/op 0.87800 ns/op 1.39
Array 250000 iterate all - loop 182.59 us/op 132.27 us/op 1.38
aggregationBits - 2048 els - readonlyValues 224.46 us/op 239.94 us/op 0.94
aggregationBits - 2048 els - zipIndexesInBitList 40.722 us/op 39.469 us/op 1.03
ssz.Root.equals 1.3400 us/op 1.3670 us/op 0.98
ssz.Root.equals with valueOf() 1.3980 us/op 1.6770 us/op 0.83
byteArrayEquals with valueOf() 1.4320 us/op 1.5030 us/op 0.95
phase0 processBlock - 250000 vs - 7PWei normalcase 12.631 ms/op 15.968 ms/op 0.79
phase0 processBlock - 250000 vs - 7PWei worstcase 79.603 ms/op 103.35 ms/op 0.77
phase0 afterProcessEpoch - 250000 vs - 7PWei 218.07 ms/op 219.59 ms/op 0.99
phase0 beforeProcessEpoch - 250000 vs - 7PWei 548.13 ms/op 718.96 ms/op 0.76
phase0 processEpoch - mainnet_e58758 792.52 ms/op 909.84 ms/op 0.87
mainnet_e58758 - phase0 beforeProcessEpoch 492.99 ms/op 601.77 ms/op 0.82
mainnet_e58758 - phase0 processJustificationAndFinalization 62.546 us/op 123.77 us/op 0.51
mainnet_e58758 - phase0 processRewardsAndPenalties 85.380 ms/op 94.577 ms/op 0.90
mainnet_e58758 - phase0 processRegistryUpdates 60.237 us/op 84.875 us/op 0.71
mainnet_e58758 - phase0 processSlashings 3.3550 us/op 5.8730 us/op 0.57
mainnet_e58758 - phase0 processEth1DataReset 2.9950 us/op 5.7420 us/op 0.52
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 10.812 ms/op 11.320 ms/op 0.96
mainnet_e58758 - phase0 processSlashingsReset 12.520 us/op 30.314 us/op 0.41
mainnet_e58758 - phase0 processRandaoMixesReset 24.167 us/op 41.861 us/op 0.58
mainnet_e58758 - phase0 processHistoricalRootsUpdate 3.0940 us/op 7.0110 us/op 0.44
mainnet_e58758 - phase0 processParticipationRecordUpdates 12.722 us/op 25.649 us/op 0.50
mainnet_e58758 - phase0 afterProcessEpoch 214.92 ms/op 189.33 ms/op 1.14
phase0 processEffectiveBalanceUpdates - 250000 normalcase 11.612 ms/op 12.508 ms/op 0.93
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.2100 s/op 1.5528 s/op 0.78
phase0 processRegistryUpdates - 250000 normalcase 77.277 us/op 92.151 us/op 0.84
phase0 processRegistryUpdates - 250000 badcase_full_deposits 3.3068 ms/op 4.2234 ms/op 0.78
phase0 processRegistryUpdates - 250000 worstcase 0.5 1.5583 s/op 2.1823 s/op 0.71
phase0 getAttestationDeltas - 250000 normalcase 35.815 ms/op 33.552 ms/op 1.07
phase0 getAttestationDeltas - 250000 worstcase 34.370 ms/op 34.546 ms/op 0.99
phase0 processSlashings - 250000 worstcase 34.507 ms/op 39.959 ms/op 0.86
shuffle list - 16384 els 13.201 ms/op 13.221 ms/op 1.00
shuffle list - 250000 els 188.20 ms/op 178.27 ms/op 1.06
getEffectiveBalances - 250000 vs - 7PWei 10.096 ms/op 10.940 ms/op 0.92
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.2067 ms/op 2.3408 ms/op 0.94
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 989.70 us/op 1.0241 ms/op 0.97
BLS verify - blst-native 1.8184 ms/op 1.9912 ms/op 0.91
BLS verifyMultipleSignatures 3 - blst-native 3.8032 ms/op 3.9608 ms/op 0.96
BLS verifyMultipleSignatures 8 - blst-native 7.9826 ms/op 8.6178 ms/op 0.93
BLS verifyMultipleSignatures 32 - blst-native 29.626 ms/op 29.769 ms/op 1.00
BLS aggregatePubkeys 32 - blst-native 40.158 us/op 42.146 us/op 0.95
BLS aggregatePubkeys 128 - blst-native 149.65 us/op 161.00 us/op 0.93
getAttestationsForBlock 76.521 ms/op 93.066 ms/op 0.82
CheckpointStateCache - add get delete 14.871 us/op 16.269 us/op 0.91
validate gossip signedAggregateAndProof - struct 4.4731 ms/op 4.8859 ms/op 0.92
validate gossip signedAggregateAndProof - treeBacked 4.4724 ms/op 4.8575 ms/op 0.92
validate gossip attestation - struct 2.1869 ms/op 2.2425 ms/op 0.98
validate gossip attestation - treeBacked 2.0975 ms/op 2.1897 ms/op 0.96

by benchmarkbot/action

@codecov
Copy link

codecov bot commented Sep 16, 2021

Codecov Report

Merging #3197 (c4d23f4) into master (6a5b2fe) will decrease coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #3197      +/-   ##
==========================================
- Coverage   58.42%   58.40%   -0.03%     
==========================================
  Files         375      376       +1     
  Lines        9176     9198      +22     
  Branches     1360     1366       +6     
==========================================
+ Hits         5361     5372      +11     
- Misses       3432     3444      +12     
+ Partials      383      382       -1     

@wemeetagain wemeetagain merged commit 6cf7c2c into master Sep 16, 2021
@wemeetagain wemeetagain deleted the dapplion/merge-fork branch September 16, 2021 21:33
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.

Implement merge fork transition process
2 participants