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

feat: schedule Gnosis Chiado testnet shapella fork #5504

Merged
merged 1 commit into from
May 17, 2023
Merged

Conversation

dapplion
Copy link
Contributor

@dapplion dapplion commented May 17, 2023

Motivation

Schedule Gnosis Chiado testnet shapella fork

Description

  • Schedule Gnosis Chiado testnet shapella fork

@dapplion dapplion requested a review from a team as a code owner May 17, 2023 14:11
@dapplion dapplion changed the title Schedule Gnosis Chiado testnet shapella fork feat: schedule Gnosis Chiado testnet shapella fork May 17, 2023
@github-actions
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 5c414c2 Previous: 1602f67 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 562.73 us/op 630.64 us/op 0.89
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 48.274 us/op 46.936 us/op 1.03
BLS verify - blst-native 1.2282 ms/op 1.2233 ms/op 1.00
BLS verifyMultipleSignatures 3 - blst-native 2.5013 ms/op 2.4936 ms/op 1.00
BLS verifyMultipleSignatures 8 - blst-native 5.3989 ms/op 5.3491 ms/op 1.01
BLS verifyMultipleSignatures 32 - blst-native 19.475 ms/op 19.367 ms/op 1.01
BLS aggregatePubkeys 32 - blst-native 26.065 us/op 25.999 us/op 1.00
BLS aggregatePubkeys 128 - blst-native 102.69 us/op 101.47 us/op 1.01
getAttestationsForBlock 59.298 ms/op 64.347 ms/op 0.92
isKnown best case - 1 super set check 269.00 ns/op 276.00 ns/op 0.97
isKnown normal case - 2 super set checks 261.00 ns/op 260.00 ns/op 1.00
isKnown worse case - 16 super set checks 263.00 ns/op 259.00 ns/op 1.02
CheckpointStateCache - add get delete 5.1790 us/op 5.4730 us/op 0.95
validate gossip signedAggregateAndProof - struct 2.8303 ms/op 2.8103 ms/op 1.01
validate gossip attestation - struct 1.3508 ms/op 1.3659 ms/op 0.99
pickEth1Vote - no votes 1.4231 ms/op 1.4015 ms/op 1.02
pickEth1Vote - max votes 13.274 ms/op 11.239 ms/op 1.18
pickEth1Vote - Eth1Data hashTreeRoot value x2048 9.8253 ms/op 9.6553 ms/op 1.02
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 17.030 ms/op 15.691 ms/op 1.09
pickEth1Vote - Eth1Data fastSerialize value x2048 748.75 us/op 670.59 us/op 1.12
pickEth1Vote - Eth1Data fastSerialize tree x2048 9.3884 ms/op 6.5932 ms/op 1.42
bytes32 toHexString 645.00 ns/op 493.00 ns/op 1.31
bytes32 Buffer.toString(hex) 473.00 ns/op 344.00 ns/op 1.38
bytes32 Buffer.toString(hex) from Uint8Array 635.00 ns/op 565.00 ns/op 1.12
bytes32 Buffer.toString(hex) + 0x 413.00 ns/op 360.00 ns/op 1.15
Object access 1 prop 0.20000 ns/op 0.17300 ns/op 1.16
Map access 1 prop 0.16700 ns/op 0.17700 ns/op 0.94
Object get x1000 6.8190 ns/op 7.6670 ns/op 0.89
Map get x1000 0.67700 ns/op 0.61500 ns/op 1.10
Object set x1000 57.613 ns/op 63.167 ns/op 0.91
Map set x1000 45.145 ns/op 44.455 ns/op 1.02
Return object 10000 times 0.24900 ns/op 0.23910 ns/op 1.04
Throw Error 10000 times 4.3820 us/op 4.2676 us/op 1.03
fastMsgIdFn sha256 / 200 bytes 3.5680 us/op 3.5620 us/op 1.00
fastMsgIdFn h32 xxhash / 200 bytes 320.00 ns/op 282.00 ns/op 1.13
fastMsgIdFn h64 xxhash / 200 bytes 458.00 ns/op 409.00 ns/op 1.12
fastMsgIdFn sha256 / 1000 bytes 11.992 us/op 11.712 us/op 1.02
fastMsgIdFn h32 xxhash / 1000 bytes 453.00 ns/op 422.00 ns/op 1.07
fastMsgIdFn h64 xxhash / 1000 bytes 584.00 ns/op 490.00 ns/op 1.19
fastMsgIdFn sha256 / 10000 bytes 106.61 us/op 105.39 us/op 1.01
fastMsgIdFn h32 xxhash / 10000 bytes 1.9900 us/op 1.9770 us/op 1.01
fastMsgIdFn h64 xxhash / 10000 bytes 1.5340 us/op 1.3970 us/op 1.10
enrSubnets - fastDeserialize 64 bits 1.7090 us/op 1.3240 us/op 1.29
enrSubnets - ssz BitVector 64 bits 635.00 ns/op 514.00 ns/op 1.24
enrSubnets - fastDeserialize 4 bits 224.00 ns/op 172.00 ns/op 1.30
enrSubnets - ssz BitVector 4 bits 628.00 ns/op 531.00 ns/op 1.18
prioritizePeers score -10:0 att 32-0.1 sync 2-0 112.33 us/op 110.73 us/op 1.01
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 159.96 us/op 137.95 us/op 1.16
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 203.44 us/op 189.51 us/op 1.07
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 358.48 us/op 337.41 us/op 1.06
prioritizePeers score 0:0 att 64-1 sync 4-1 423.02 us/op 413.75 us/op 1.02
array of 16000 items push then shift 1.7052 us/op 1.6905 us/op 1.01
LinkedList of 16000 items push then shift 9.3190 ns/op 9.3430 ns/op 1.00
array of 16000 items push then pop 122.83 ns/op 109.14 ns/op 1.13
LinkedList of 16000 items push then pop 9.2230 ns/op 9.0290 ns/op 1.02
array of 24000 items push then shift 2.4833 us/op 2.4070 us/op 1.03
LinkedList of 24000 items push then shift 9.3910 ns/op 9.5870 ns/op 0.98
array of 24000 items push then pop 84.745 ns/op 92.390 ns/op 0.92
LinkedList of 24000 items push then pop 8.9820 ns/op 9.2060 ns/op 0.98
intersect bitArray bitLen 8 14.049 ns/op 13.771 ns/op 1.02
intersect array and set length 8 84.826 ns/op 84.476 ns/op 1.00
intersect bitArray bitLen 128 44.987 ns/op 45.057 ns/op 1.00
intersect array and set length 128 1.1520 us/op 1.1600 us/op 0.99
Buffer.concat 32 items 3.0690 us/op 2.8830 us/op 1.06
Uint8Array.set 32 items 3.2810 us/op 2.3430 us/op 1.40
pass gossip attestations to forkchoice per slot 2.9688 ms/op 2.3937 ms/op 1.24
computeDeltas 3.1078 ms/op 3.0833 ms/op 1.01
computeProposerBoostScoreFromBalances 1.8577 ms/op 1.8290 ms/op 1.02
altair processAttestation - 250000 vs - 7PWei normalcase 2.4352 ms/op 2.9525 ms/op 0.82
altair processAttestation - 250000 vs - 7PWei worstcase 3.7856 ms/op 4.2302 ms/op 0.89
altair processAttestation - setStatus - 1/6 committees join 144.09 us/op 145.42 us/op 0.99
altair processAttestation - setStatus - 1/3 committees join 288.96 us/op 295.72 us/op 0.98
altair processAttestation - setStatus - 1/2 committees join 392.22 us/op 386.23 us/op 1.02
altair processAttestation - setStatus - 2/3 committees join 487.01 us/op 490.38 us/op 0.99
altair processAttestation - setStatus - 4/5 committees join 674.02 us/op 697.87 us/op 0.97
altair processAttestation - setStatus - 100% committees join 785.80 us/op 818.04 us/op 0.96
altair processBlock - 250000 vs - 7PWei normalcase 17.943 ms/op 20.112 ms/op 0.89
altair processBlock - 250000 vs - 7PWei normalcase hashState 27.056 ms/op 30.417 ms/op 0.89
altair processBlock - 250000 vs - 7PWei worstcase 56.274 ms/op 56.604 ms/op 0.99
altair processBlock - 250000 vs - 7PWei worstcase hashState 70.918 ms/op 74.745 ms/op 0.95
phase0 processBlock - 250000 vs - 7PWei normalcase 2.2633 ms/op 2.1121 ms/op 1.07
phase0 processBlock - 250000 vs - 7PWei worstcase 31.375 ms/op 31.217 ms/op 1.01
altair processEth1Data - 250000 vs - 7PWei normalcase 547.86 us/op 556.63 us/op 0.98
vc - 250000 eb 1 eth1 1 we 0 wn 0 - smpl 15 8.0600 us/op 9.4260 us/op 0.86
vc - 250000 eb 0.95 eth1 0.1 we 0.05 wn 0 - smpl 219 25.376 us/op 29.673 us/op 0.86
vc - 250000 eb 0.95 eth1 0.3 we 0.05 wn 0 - smpl 42 10.945 us/op 10.559 us/op 1.04
vc - 250000 eb 0.95 eth1 0.7 we 0.05 wn 0 - smpl 18 7.8990 us/op 7.9540 us/op 0.99
vc - 250000 eb 0.1 eth1 0.1 we 0 wn 0 - smpl 1020 97.841 us/op 118.10 us/op 0.83
vc - 250000 eb 0.03 eth1 0.03 we 0 wn 0 - smpl 11777 718.86 us/op 777.35 us/op 0.92
vc - 250000 eb 0.01 eth1 0.01 we 0 wn 0 - smpl 16384 919.61 us/op 1.0613 ms/op 0.87
vc - 250000 eb 0 eth1 0 we 0 wn 0 - smpl 16384 895.33 us/op 1.0182 ms/op 0.88
vc - 250000 eb 0 eth1 0 we 0 wn 0 nocache - smpl 16384 2.4517 ms/op 2.4917 ms/op 0.98
vc - 250000 eb 0 eth1 1 we 0 wn 0 - smpl 16384 1.6526 ms/op 1.6340 ms/op 1.01
vc - 250000 eb 0 eth1 1 we 0 wn 0 nocache - smpl 16384 3.9612 ms/op 4.2136 ms/op 0.94
Tree 40 250000 create 347.85 ms/op 433.02 ms/op 0.80
Tree 40 250000 get(125000) 195.54 ns/op 194.75 ns/op 1.00
Tree 40 250000 set(125000) 1.0047 us/op 1.0200 us/op 0.98
Tree 40 250000 toArray() 20.527 ms/op 21.627 ms/op 0.95
Tree 40 250000 iterate all - toArray() + loop 20.754 ms/op 22.368 ms/op 0.93
Tree 40 250000 iterate all - get(i) 76.300 ms/op 74.799 ms/op 1.02
MutableVector 250000 create 12.884 ms/op 14.199 ms/op 0.91
MutableVector 250000 get(125000) 6.4300 ns/op 7.0750 ns/op 0.91
MutableVector 250000 set(125000) 350.61 ns/op 353.07 ns/op 0.99
MutableVector 250000 toArray() 3.8506 ms/op 3.8956 ms/op 0.99
MutableVector 250000 iterate all - toArray() + loop 3.9638 ms/op 3.5055 ms/op 1.13
MutableVector 250000 iterate all - get(i) 1.5463 ms/op 1.5692 ms/op 0.99
Array 250000 create 3.1801 ms/op 3.3929 ms/op 0.94
Array 250000 clone - spread 1.2953 ms/op 1.3117 ms/op 0.99
Array 250000 get(125000) 0.66300 ns/op 0.64400 ns/op 1.03
Array 250000 set(125000) 0.69600 ns/op 0.68900 ns/op 1.01
Array 250000 iterate all - loop 85.587 us/op 100.37 us/op 0.85
effectiveBalanceIncrements clone Uint8Array 300000 50.223 us/op 36.702 us/op 1.37
effectiveBalanceIncrements clone MutableVector 300000 400.00 ns/op 403.00 ns/op 0.99
effectiveBalanceIncrements rw all Uint8Array 300000 170.40 us/op 174.68 us/op 0.98
effectiveBalanceIncrements rw all MutableVector 300000 110.24 ms/op 95.702 ms/op 1.15
phase0 afterProcessEpoch - 250000 vs - 7PWei 119.71 ms/op 123.89 ms/op 0.97
phase0 beforeProcessEpoch - 250000 vs - 7PWei 43.809 ms/op 42.342 ms/op 1.03
altair processEpoch - mainnet_e81889 323.50 ms/op 371.28 ms/op 0.87
mainnet_e81889 - altair beforeProcessEpoch 68.718 ms/op 78.687 ms/op 0.87
mainnet_e81889 - altair processJustificationAndFinalization 23.066 us/op 24.831 us/op 0.93
mainnet_e81889 - altair processInactivityUpdates 6.2906 ms/op 6.4491 ms/op 0.98
mainnet_e81889 - altair processRewardsAndPenalties 56.871 ms/op 76.295 ms/op 0.75
mainnet_e81889 - altair processRegistryUpdates 2.7170 us/op 3.7760 us/op 0.72
mainnet_e81889 - altair processSlashings 630.00 ns/op 1.1220 us/op 0.56
mainnet_e81889 - altair processEth1DataReset 593.00 ns/op 1.2340 us/op 0.48
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.2539 ms/op 1.5343 ms/op 0.82
mainnet_e81889 - altair processSlashingsReset 6.1750 us/op 7.3000 us/op 0.85
mainnet_e81889 - altair processRandaoMixesReset 10.045 us/op 8.4850 us/op 1.18
mainnet_e81889 - altair processHistoricalRootsUpdate 1.1500 us/op 1.7210 us/op 0.67
mainnet_e81889 - altair processParticipationFlagUpdates 3.3620 us/op 3.6740 us/op 0.92
mainnet_e81889 - altair processSyncCommitteeUpdates 854.00 ns/op 942.00 ns/op 0.91
mainnet_e81889 - altair afterProcessEpoch 130.08 ms/op 133.49 ms/op 0.97
phase0 processEpoch - mainnet_e58758 369.26 ms/op 454.26 ms/op 0.81
mainnet_e58758 - phase0 beforeProcessEpoch 158.70 ms/op 219.37 ms/op 0.72
mainnet_e58758 - phase0 processJustificationAndFinalization 21.847 us/op 30.516 us/op 0.72
mainnet_e58758 - phase0 processRewardsAndPenalties 66.614 ms/op 74.718 ms/op 0.89
mainnet_e58758 - phase0 processRegistryUpdates 9.6850 us/op 12.882 us/op 0.75
mainnet_e58758 - phase0 processSlashings 663.00 ns/op 1.0190 us/op 0.65
mainnet_e58758 - phase0 processEth1DataReset 701.00 ns/op 1.0980 us/op 0.64
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.0402 ms/op 1.3750 ms/op 0.76
mainnet_e58758 - phase0 processSlashingsReset 4.3120 us/op 7.0330 us/op 0.61
mainnet_e58758 - phase0 processRandaoMixesReset 8.6160 us/op 9.1860 us/op 0.94
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.1320 us/op 1.4510 us/op 0.78
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.9460 us/op 11.301 us/op 0.35
mainnet_e58758 - phase0 afterProcessEpoch 99.924 ms/op 115.31 ms/op 0.87
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.3375 ms/op 1.5469 ms/op 0.86
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.1200 ms/op 1.9287 ms/op 1.10
altair processInactivityUpdates - 250000 normalcase 26.881 ms/op 28.802 ms/op 0.93
altair processInactivityUpdates - 250000 worstcase 20.815 ms/op 30.741 ms/op 0.68
phase0 processRegistryUpdates - 250000 normalcase 7.7340 us/op 10.647 us/op 0.73
phase0 processRegistryUpdates - 250000 badcase_full_deposits 283.75 us/op 376.08 us/op 0.75
phase0 processRegistryUpdates - 250000 worstcase 0.5 130.45 ms/op 140.94 ms/op 0.93
altair processRewardsAndPenalties - 250000 normalcase 70.611 ms/op 78.214 ms/op 0.90
altair processRewardsAndPenalties - 250000 worstcase 70.941 ms/op 93.113 ms/op 0.76
phase0 getAttestationDeltas - 250000 normalcase 7.3426 ms/op 10.671 ms/op 0.69
phase0 getAttestationDeltas - 250000 worstcase 7.1120 ms/op 9.8250 ms/op 0.72
phase0 processSlashings - 250000 worstcase 3.4587 ms/op 4.3182 ms/op 0.80
altair processSyncCommitteeUpdates - 250000 183.98 ms/op 217.03 ms/op 0.85
BeaconState.hashTreeRoot - No change 278.00 ns/op 312.00 ns/op 0.89
BeaconState.hashTreeRoot - 1 full validator 53.988 us/op 63.766 us/op 0.85
BeaconState.hashTreeRoot - 32 full validator 555.15 us/op 596.72 us/op 0.93
BeaconState.hashTreeRoot - 512 full validator 5.7363 ms/op 6.5059 ms/op 0.88
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 64.923 us/op 68.710 us/op 0.94
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 945.33 us/op 984.33 us/op 0.96
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 12.158 ms/op 16.077 ms/op 0.76
BeaconState.hashTreeRoot - 1 balances 52.766 us/op 53.003 us/op 1.00
BeaconState.hashTreeRoot - 32 balances 504.23 us/op 534.63 us/op 0.94
BeaconState.hashTreeRoot - 512 balances 5.0265 ms/op 4.7708 ms/op 1.05
BeaconState.hashTreeRoot - 250000 balances 79.757 ms/op 84.047 ms/op 0.95
aggregationBits - 2048 els - zipIndexesInBitList 17.115 us/op 19.191 us/op 0.89
regular array get 100000 times 33.260 us/op 43.915 us/op 0.76
wrappedArray get 100000 times 34.193 us/op 34.673 us/op 0.99
arrayWithProxy get 100000 times 16.116 ms/op 17.291 ms/op 0.93
ssz.Root.equals 584.00 ns/op 582.00 ns/op 1.00
byteArrayEquals 558.00 ns/op 584.00 ns/op 0.96
shuffle list - 16384 els 6.9674 ms/op 7.1094 ms/op 0.98
shuffle list - 250000 els 102.21 ms/op 104.32 ms/op 0.98
processSlot - 1 slots 8.8710 us/op 13.365 us/op 0.66
processSlot - 32 slots 1.4083 ms/op 1.6532 ms/op 0.85
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 37.721 ms/op 42.212 ms/op 0.89
getCommitteeAssignments - req 1 vs - 250000 vc 2.9804 ms/op 2.9801 ms/op 1.00
getCommitteeAssignments - req 100 vs - 250000 vc 4.2100 ms/op 4.2669 ms/op 0.99
getCommitteeAssignments - req 1000 vs - 250000 vc 4.5686 ms/op 4.5523 ms/op 1.00
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.6200 ns/op 5.0100 ns/op 1.12
state getBlockRootAtSlot - 250000 vs - 7PWei 585.86 ns/op 1.1022 us/op 0.53
computeProposers - vc 250000 10.891 ms/op 10.568 ms/op 1.03
computeEpochShuffling - vc 250000 104.73 ms/op 107.26 ms/op 0.98
getNextSyncCommittee - vc 250000 177.36 ms/op 185.46 ms/op 0.96
computeSigningRoot for AttestationData 13.829 us/op 13.695 us/op 1.01
hash AttestationData serialized data then Buffer.toString(base64) 2.7958 us/op 2.4222 us/op 1.15
toHexString serialized data 1.7441 us/op 1.0524 us/op 1.66
Buffer.toString(base64) 478.52 ns/op 325.72 ns/op 1.47

by benchmarkbot/action

Copy link
Member

@nflaig nflaig left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@g11tech g11tech merged commit a55b752 into unstable May 17, 2023
@g11tech g11tech deleted the gnosis-chiado branch May 17, 2023 15:26
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.9.0 🎉

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.

4 participants