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 geth ttd override flag and update mainnet shadow fork 3 ttd #3972

Merged
merged 1 commit into from
May 4, 2022

Conversation

g11tech
Copy link
Contributor

@g11tech g11tech commented May 4, 2022

TTD override flag for geth and some cleanup.

@g11tech g11tech requested a review from a team as a code owner May 4, 2022 15:36
@codecov
Copy link

codecov bot commented May 4, 2022

Codecov Report

Merging #3972 (7dec300) into master (a3cb495) will increase coverage by 0.70%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #3972      +/-   ##
==========================================
+ Coverage   36.30%   37.00%   +0.70%     
==========================================
  Files         324      325       +1     
  Lines        9107     9117      +10     
  Branches     1468     1468              
==========================================
+ Hits         3306     3374      +68     
+ Misses       5628     5552      -76     
- Partials      173      191      +18     

@github-actions
Copy link
Contributor

github-actions bot commented May 4, 2022

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: d88a34a Previous: a3cb495 Ratio
BeaconState.hashTreeRoot - No change 601.00 ns/op 540.00 ns/op 1.11
BeaconState.hashTreeRoot - 1 full validator 56.169 us/op 55.083 us/op 1.02
BeaconState.hashTreeRoot - 32 full validator 541.36 us/op 545.85 us/op 0.99
BeaconState.hashTreeRoot - 512 full validator 6.6029 ms/op 6.0044 ms/op 1.10
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 69.563 us/op 70.324 us/op 0.99
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 959.27 us/op 957.38 us/op 1.00
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 14.474 ms/op 13.434 ms/op 1.08
BeaconState.hashTreeRoot - 1 balances 52.742 us/op 53.034 us/op 0.99
BeaconState.hashTreeRoot - 32 balances 475.08 us/op 474.25 us/op 1.00
BeaconState.hashTreeRoot - 512 balances 4.8146 ms/op 4.6279 ms/op 1.04
BeaconState.hashTreeRoot - 250000 balances 104.26 ms/op 102.05 ms/op 1.02
processSlot - 1 slots 9.8610 us/op 9.5420 us/op 1.03
processSlot - 32 slots 1.6031 ms/op 1.5799 ms/op 1.01
getCommitteeAssignments - req 1 vs - 250000 vc 5.3635 ms/op 5.2415 ms/op 1.02
getCommitteeAssignments - req 100 vs - 250000 vc 7.5188 ms/op 7.3016 ms/op 1.03
getCommitteeAssignments - req 1000 vs - 250000 vc 8.0862 ms/op 7.8429 ms/op 1.03
computeProposers - vc 250000 17.327 ms/op 16.627 ms/op 1.04
computeEpochShuffling - vc 250000 159.70 ms/op 158.93 ms/op 1.00
getNextSyncCommittee - vc 250000 285.83 ms/op 275.25 ms/op 1.04
altair processAttestation - 250000 vs - 7PWei normalcase 4.5834 ms/op 3.9244 ms/op 1.17
altair processAttestation - 250000 vs - 7PWei worstcase 6.3377 ms/op 5.5753 ms/op 1.14
altair processAttestation - setStatus - 1/6 committees join 203.55 us/op 195.17 us/op 1.04
altair processAttestation - setStatus - 1/3 committees join 388.39 us/op 380.33 us/op 1.02
altair processAttestation - setStatus - 1/2 committees join 531.74 us/op 527.76 us/op 1.01
altair processAttestation - setStatus - 2/3 committees join 684.75 us/op 678.48 us/op 1.01
altair processAttestation - setStatus - 4/5 committees join 959.65 us/op 944.43 us/op 1.02
altair processAttestation - setStatus - 100% committees join 1.1434 ms/op 1.1218 ms/op 1.02
altair processBlock - 250000 vs - 7PWei normalcase 26.234 ms/op 23.665 ms/op 1.11
altair processBlock - 250000 vs - 7PWei normalcase hashState 36.925 ms/op 34.344 ms/op 1.08
altair processBlock - 250000 vs - 7PWei worstcase 74.463 ms/op 75.794 ms/op 0.98
altair processBlock - 250000 vs - 7PWei worstcase hashState 111.64 ms/op 94.679 ms/op 1.18
altair processEth1Data - 250000 vs - 7PWei normalcase 885.88 us/op 806.54 us/op 1.10
altair processEpoch - mainnet_e81889 573.48 ms/op 467.27 ms/op 1.23
mainnet_e81889 - altair beforeProcessEpoch 165.25 ms/op 135.78 ms/op 1.22
mainnet_e81889 - altair processJustificationAndFinalization 22.597 us/op 25.084 us/op 0.90
mainnet_e81889 - altair processInactivityUpdates 12.387 ms/op 10.947 ms/op 1.13
mainnet_e81889 - altair processRewardsAndPenalties 135.69 ms/op 131.82 ms/op 1.03
mainnet_e81889 - altair processRegistryUpdates 4.2290 us/op 3.8710 us/op 1.09
mainnet_e81889 - altair processSlashings 1.1400 us/op 1.2620 us/op 0.90
mainnet_e81889 - altair processEth1DataReset 1.1200 us/op 1.0930 us/op 1.02
mainnet_e81889 - altair processEffectiveBalanceUpdates 8.6665 ms/op 7.0392 ms/op 1.23
mainnet_e81889 - altair processSlashingsReset 4.8220 us/op 5.6690 us/op 0.85
mainnet_e81889 - altair processRandaoMixesReset 5.8100 us/op 6.7940 us/op 0.86
mainnet_e81889 - altair processHistoricalRootsUpdate 1.4250 us/op 1.4690 us/op 0.97
mainnet_e81889 - altair processParticipationFlagUpdates 3.6960 us/op 3.0520 us/op 1.21
mainnet_e81889 - altair processSyncCommitteeUpdates 921.00 ns/op 1.1870 us/op 0.78
mainnet_e81889 - altair afterProcessEpoch 185.20 ms/op 182.55 ms/op 1.01
altair processInactivityUpdates - 250000 normalcase 34.575 ms/op 30.432 ms/op 1.14
altair processInactivityUpdates - 250000 worstcase 29.237 ms/op 26.019 ms/op 1.12
altair processRewardsAndPenalties - 250000 normalcase 82.850 ms/op 78.763 ms/op 1.05
altair processRewardsAndPenalties - 250000 worstcase 118.63 ms/op 111.53 ms/op 1.06
altair processSyncCommitteeUpdates - 250000 301.26 ms/op 281.04 ms/op 1.07
Tree 40 250000 create 889.50 ms/op 641.40 ms/op 1.39
Tree 40 250000 get(125000) 288.22 ns/op 288.62 ns/op 1.00
Tree 40 250000 set(125000) 3.0186 us/op 2.1430 us/op 1.41
Tree 40 250000 toArray() 33.679 ms/op 31.324 ms/op 1.08
Tree 40 250000 iterate all - toArray() + loop 33.878 ms/op 31.005 ms/op 1.09
Tree 40 250000 iterate all - get(i) 112.95 ms/op 109.37 ms/op 1.03
MutableVector 250000 create 16.226 ms/op 14.623 ms/op 1.11
MutableVector 250000 get(125000) 14.802 ns/op 13.108 ns/op 1.13
MutableVector 250000 set(125000) 833.46 ns/op 567.08 ns/op 1.47
MutableVector 250000 toArray() 7.3233 ms/op 6.4947 ms/op 1.13
MutableVector 250000 iterate all - toArray() + loop 7.5194 ms/op 6.6496 ms/op 1.13
MutableVector 250000 iterate all - get(i) 3.2821 ms/op 3.4410 ms/op 0.95
Array 250000 create 6.8501 ms/op 5.9908 ms/op 1.14
Array 250000 clone - spread 3.8449 ms/op 2.5079 ms/op 1.53
Array 250000 get(125000) 1.7500 ns/op 1.1610 ns/op 1.51
Array 250000 set(125000) 1.6030 ns/op 1.1400 ns/op 1.41
Array 250000 iterate all - loop 170.44 us/op 168.91 us/op 1.01
effectiveBalanceIncrements clone Uint8Array 300000 97.342 us/op 78.446 us/op 1.24
effectiveBalanceIncrements clone MutableVector 300000 1.0950 us/op 530.00 ns/op 2.07
effectiveBalanceIncrements rw all Uint8Array 300000 301.88 us/op 301.81 us/op 1.00
effectiveBalanceIncrements rw all MutableVector 300000 260.61 ms/op 146.79 ms/op 1.78
aggregationBits - 2048 els - zipIndexesInBitList 35.530 us/op 23.452 us/op 1.52
regular array get 100000 times 67.434 us/op 67.449 us/op 1.00
wrappedArray get 100000 times 67.441 us/op 67.433 us/op 1.00
arrayWithProxy get 100000 times 27.668 ms/op 32.761 ms/op 0.84
ssz.Root.equals 451.00 ns/op 434.00 ns/op 1.04
byteArrayEquals 412.00 ns/op 440.00 ns/op 0.94
phase0 processBlock - 250000 vs - 7PWei normalcase 4.0334 ms/op 3.3400 ms/op 1.21
phase0 processBlock - 250000 vs - 7PWei worstcase 47.252 ms/op 45.512 ms/op 1.04
phase0 afterProcessEpoch - 250000 vs - 7PWei 175.18 ms/op 174.23 ms/op 1.01
phase0 beforeProcessEpoch - 250000 vs - 7PWei 79.977 ms/op 72.690 ms/op 1.10
phase0 processEpoch - mainnet_e58758 544.60 ms/op 498.77 ms/op 1.09
mainnet_e58758 - phase0 beforeProcessEpoch 246.69 ms/op 217.44 ms/op 1.13
mainnet_e58758 - phase0 processJustificationAndFinalization 22.066 us/op 22.576 us/op 0.98
mainnet_e58758 - phase0 processRewardsAndPenalties 131.11 ms/op 127.28 ms/op 1.03
mainnet_e58758 - phase0 processRegistryUpdates 10.344 us/op 9.3320 us/op 1.11
mainnet_e58758 - phase0 processSlashings 1.2290 us/op 1.2600 us/op 0.98
mainnet_e58758 - phase0 processEth1DataReset 1.1090 us/op 1.0270 us/op 1.08
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 6.5722 ms/op 6.3587 ms/op 1.03
mainnet_e58758 - phase0 processSlashingsReset 5.2310 us/op 5.3130 us/op 0.98
mainnet_e58758 - phase0 processRandaoMixesReset 5.7590 us/op 5.4670 us/op 1.05
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.3520 us/op 1.4710 us/op 0.92
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.9720 us/op 5.0620 us/op 0.98
mainnet_e58758 - phase0 afterProcessEpoch 152.42 ms/op 152.55 ms/op 1.00
phase0 processEffectiveBalanceUpdates - 250000 normalcase 6.4521 ms/op 6.3401 ms/op 1.02
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 6.8416 ms/op 6.8694 ms/op 1.00
phase0 processRegistryUpdates - 250000 normalcase 9.1150 us/op 8.5200 us/op 1.07
phase0 processRegistryUpdates - 250000 badcase_full_deposits 412.69 us/op 434.01 us/op 0.95
phase0 processRegistryUpdates - 250000 worstcase 0.5 227.11 ms/op 213.73 ms/op 1.06
phase0 getAttestationDeltas - 250000 normalcase 16.427 ms/op 15.586 ms/op 1.05
phase0 getAttestationDeltas - 250000 worstcase 16.898 ms/op 15.369 ms/op 1.10
phase0 processSlashings - 250000 worstcase 6.4529 ms/op 5.9234 ms/op 1.09
shuffle list - 16384 els 10.674 ms/op 10.678 ms/op 1.00
shuffle list - 250000 els 153.96 ms/op 153.97 ms/op 1.00
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 359.38 us/op 359.39 us/op 1.00
pass gossip attestations to forkchoice per slot 3.4883 ms/op 3.3897 ms/op 1.03
computeDeltas 3.6892 ms/op 3.3259 ms/op 1.11
computeProposerBoostScoreFromBalances 503.03 us/op 502.78 us/op 1.00
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.5050 ms/op 2.1305 ms/op 1.18
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 85.523 us/op 72.874 us/op 1.17
BLS verify - blst-native 1.8601 ms/op 1.8550 ms/op 1.00
BLS verifyMultipleSignatures 3 - blst-native 3.8078 ms/op 3.7922 ms/op 1.00
BLS verifyMultipleSignatures 8 - blst-native 8.2044 ms/op 8.1648 ms/op 1.00
BLS verifyMultipleSignatures 32 - blst-native 29.735 ms/op 29.630 ms/op 1.00
BLS aggregatePubkeys 32 - blst-native 39.445 us/op 39.928 us/op 0.99
BLS aggregatePubkeys 128 - blst-native 153.57 us/op 153.09 us/op 1.00
getAttestationsForBlock 63.286 ms/op 56.020 ms/op 1.13
CheckpointStateCache - add get delete 11.136 us/op 10.308 us/op 1.08
validate gossip signedAggregateAndProof - struct 4.2696 ms/op 4.2653 ms/op 1.00
validate gossip attestation - struct 2.0279 ms/op 2.0266 ms/op 1.00
pickEth1Vote - no votes 2.1964 ms/op 2.1850 ms/op 1.01
pickEth1Vote - max votes 21.855 ms/op 19.025 ms/op 1.15
pickEth1Vote - Eth1Data hashTreeRoot value x2048 11.870 ms/op 11.002 ms/op 1.08
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 22.809 ms/op 19.828 ms/op 1.15
pickEth1Vote - Eth1Data fastSerialize value x2048 1.7094 ms/op 1.6743 ms/op 1.02
pickEth1Vote - Eth1Data fastSerialize tree x2048 15.152 ms/op 12.177 ms/op 1.24
bytes32 toHexString 1.0470 us/op 933.00 ns/op 1.12
bytes32 Buffer.toString(hex) 699.00 ns/op 681.00 ns/op 1.03
bytes32 Buffer.toString(hex) from Uint8Array 923.00 ns/op 915.00 ns/op 1.01
bytes32 Buffer.toString(hex) + 0x 704.00 ns/op 698.00 ns/op 1.01
Object access 1 prop 0.34900 ns/op 0.34300 ns/op 1.02
Map access 1 prop 0.29700 ns/op 0.29800 ns/op 1.00
Object get x1000 17.824 ns/op 17.130 ns/op 1.04
Map get x1000 0.98200 ns/op 1.0090 ns/op 0.97
Object set x1000 110.72 ns/op 108.89 ns/op 1.02
Map set x1000 68.475 ns/op 68.058 ns/op 1.01
Return object 10000 times 0.37870 ns/op 0.37100 ns/op 1.02
Throw Error 10000 times 5.9046 us/op 5.8652 us/op 1.01
enrSubnets - fastDeserialize 64 bits 2.8590 us/op 2.6710 us/op 1.07
enrSubnets - ssz BitVector 64 bits 758.00 ns/op 753.00 ns/op 1.01
enrSubnets - fastDeserialize 4 bits 426.00 ns/op 406.00 ns/op 1.05
enrSubnets - ssz BitVector 4 bits 759.00 ns/op 773.00 ns/op 0.98
RateTracker 1000000 limit, 1 obj count per request 184.86 ns/op 182.33 ns/op 1.01
RateTracker 1000000 limit, 2 obj count per request 139.07 ns/op 136.55 ns/op 1.02
RateTracker 1000000 limit, 4 obj count per request 115.99 ns/op 113.66 ns/op 1.02
RateTracker 1000000 limit, 8 obj count per request 104.97 ns/op 101.66 ns/op 1.03
RateTracker with prune 4.7160 us/op 3.8200 us/op 1.23
array of 16000 items push then shift 3.1654 us/op 3.0858 us/op 1.03
LinkedList of 16000 items push then shift 18.231 ns/op 16.502 ns/op 1.10
array of 16000 items push then pop 209.45 ns/op 203.02 ns/op 1.03
LinkedList of 16000 items push then pop 17.313 ns/op 15.267 ns/op 1.13
array of 24000 items push then shift 4.5068 us/op 4.5566 us/op 0.99
LinkedList of 24000 items push then shift 22.882 ns/op 18.449 ns/op 1.24
array of 24000 items push then pop 230.37 ns/op 193.15 ns/op 1.19
LinkedList of 24000 items push then pop 19.489 ns/op 17.022 ns/op 1.14

by benchmarkbot/action

@g11tech g11tech merged commit 2d3571f into master May 4, 2022
@g11tech g11tech deleted the g11tech/geth-ttd-override branch May 4, 2022 16:27
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