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

Upgrade spec to 1.3.0-rc.4 with deneb and fork choice tests skipped to be enabled in followups #5278

Merged
merged 3 commits into from
Mar 17, 2023

Conversation

g11tech
Copy link
Contributor

@g11tech g11tech commented Mar 17, 2023

Two things skipped:

  1. deneb fork: because of breaking changes regarding decoupled blobs to be addressed in feat: free the blobs #5181 and will be re-added
  2. fork_choice: To be enabled with the fork choice safe slots to justified removal PR Forkchoice fix bug and cleanup #5126

Skipped tracked here: #5279

@g11tech g11tech requested a review from a team as a code owner March 17, 2023 09:42
@github-actions
Copy link
Contributor

github-actions bot commented Mar 17, 2023

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 49c2d8a Previous: 3e254d5 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.0325 ms/op 858.84 us/op 1.20
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 57.169 us/op 46.946 us/op 1.22
BLS verify - blst-native 1.2695 ms/op 1.2068 ms/op 1.05
BLS verifyMultipleSignatures 3 - blst-native 2.6095 ms/op 2.4537 ms/op 1.06
BLS verifyMultipleSignatures 8 - blst-native 5.8063 ms/op 5.2782 ms/op 1.10
BLS verifyMultipleSignatures 32 - blst-native 20.377 ms/op 19.090 ms/op 1.07
BLS aggregatePubkeys 32 - blst-native 27.683 us/op 25.492 us/op 1.09
BLS aggregatePubkeys 128 - blst-native 107.22 us/op 99.563 us/op 1.08
getAttestationsForBlock 64.840 ms/op 52.169 ms/op 1.24
isKnown best case - 1 super set check 272.00 ns/op 259.00 ns/op 1.05
isKnown normal case - 2 super set checks 262.00 ns/op 250.00 ns/op 1.05
isKnown worse case - 16 super set checks 265.00 ns/op 251.00 ns/op 1.06
CheckpointStateCache - add get delete 6.1740 us/op 4.8910 us/op 1.26
validate gossip signedAggregateAndProof - struct 2.9373 ms/op 2.7733 ms/op 1.06
validate gossip attestation - struct 1.3980 ms/op 1.3268 ms/op 1.05
pickEth1Vote - no votes 1.4348 ms/op 1.2532 ms/op 1.14
pickEth1Vote - max votes 11.202 ms/op 8.4823 ms/op 1.32
pickEth1Vote - Eth1Data hashTreeRoot value x2048 10.034 ms/op 8.9131 ms/op 1.13
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 26.276 ms/op 14.476 ms/op 1.82
pickEth1Vote - Eth1Data fastSerialize value x2048 1.6657 ms/op 657.28 us/op 2.53
pickEth1Vote - Eth1Data fastSerialize tree x2048 9.2136 ms/op 7.9892 ms/op 1.15
bytes32 toHexString 1.0720 us/op 505.00 ns/op 2.12
bytes32 Buffer.toString(hex) 731.00 ns/op 372.00 ns/op 1.97
bytes32 Buffer.toString(hex) from Uint8Array 905.00 ns/op 570.00 ns/op 1.59
bytes32 Buffer.toString(hex) + 0x 553.00 ns/op 359.00 ns/op 1.54
Object access 1 prop 0.35500 ns/op 0.17000 ns/op 2.09
Map access 1 prop 0.35900 ns/op 0.15700 ns/op 2.29
Object get x1000 8.8610 ns/op 7.0510 ns/op 1.26
Map get x1000 0.77500 ns/op 0.59000 ns/op 1.31
Object set x1000 101.33 ns/op 52.842 ns/op 1.92
Map set x1000 75.184 ns/op 44.831 ns/op 1.68
Return object 10000 times 0.28000 ns/op 0.24110 ns/op 1.16
Throw Error 10000 times 5.4532 us/op 4.2063 us/op 1.30
fastMsgIdFn sha256 / 200 bytes 4.7570 us/op 3.5030 us/op 1.36
fastMsgIdFn h32 xxhash / 200 bytes 413.00 ns/op 284.00 ns/op 1.45
fastMsgIdFn h64 xxhash / 200 bytes 629.00 ns/op 401.00 ns/op 1.57
fastMsgIdFn sha256 / 1000 bytes 14.598 us/op 11.777 us/op 1.24
fastMsgIdFn h32 xxhash / 1000 bytes 545.00 ns/op 412.00 ns/op 1.32
fastMsgIdFn h64 xxhash / 1000 bytes 640.00 ns/op 477.00 ns/op 1.34
fastMsgIdFn sha256 / 10000 bytes 123.50 us/op 105.98 us/op 1.17
fastMsgIdFn h32 xxhash / 10000 bytes 2.3680 us/op 1.9330 us/op 1.23
fastMsgIdFn h64 xxhash / 10000 bytes 1.7580 us/op 1.3590 us/op 1.29
enrSubnets - fastDeserialize 64 bits 2.0390 us/op 1.3000 us/op 1.57
enrSubnets - ssz BitVector 64 bits 786.00 ns/op 511.00 ns/op 1.54
enrSubnets - fastDeserialize 4 bits 238.00 ns/op 174.00 ns/op 1.37
enrSubnets - ssz BitVector 4 bits 732.00 ns/op 501.00 ns/op 1.46
prioritizePeers score -10:0 att 32-0.1 sync 2-0 124.16 us/op 105.73 us/op 1.17
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 167.71 us/op 135.90 us/op 1.23
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 256.03 us/op 171.82 us/op 1.49
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 466.31 us/op 307.35 us/op 1.52
prioritizePeers score 0:0 att 64-1 sync 4-1 476.26 us/op 370.46 us/op 1.29
array of 16000 items push then shift 1.8814 us/op 1.6496 us/op 1.14
LinkedList of 16000 items push then shift 10.880 ns/op 8.8790 ns/op 1.23
array of 16000 items push then pop 130.43 ns/op 79.403 ns/op 1.64
LinkedList of 16000 items push then pop 10.140 ns/op 8.5830 ns/op 1.18
array of 24000 items push then shift 2.6459 us/op 2.3888 us/op 1.11
LinkedList of 24000 items push then shift 10.976 ns/op 8.8320 ns/op 1.24
array of 24000 items push then pop 117.07 ns/op 77.324 ns/op 1.51
LinkedList of 24000 items push then pop 9.7030 ns/op 8.8410 ns/op 1.10
intersect bitArray bitLen 8 14.484 ns/op 13.371 ns/op 1.08
intersect array and set length 8 104.52 ns/op 78.140 ns/op 1.34
intersect bitArray bitLen 128 48.173 ns/op 44.027 ns/op 1.09
intersect array and set length 128 1.2548 us/op 1.0776 us/op 1.16
Buffer.concat 32 items 2.9400 us/op 2.6710 us/op 1.10
Uint8Array.set 32 items 3.1290 us/op 2.8230 us/op 1.11
pass gossip attestations to forkchoice per slot 2.5324 ms/op 2.3027 ms/op 1.10
computeDeltas 3.4770 ms/op 3.3753 ms/op 1.03
computeProposerBoostScoreFromBalances 1.9356 ms/op 1.7818 ms/op 1.09
altair processAttestation - 250000 vs - 7PWei normalcase 4.1040 ms/op 2.1475 ms/op 1.91
altair processAttestation - 250000 vs - 7PWei worstcase 5.4502 ms/op 3.3676 ms/op 1.62
altair processAttestation - setStatus - 1/6 committees join 170.43 us/op 140.81 us/op 1.21
altair processAttestation - setStatus - 1/3 committees join 305.27 us/op 277.61 us/op 1.10
altair processAttestation - setStatus - 1/2 committees join 401.15 us/op 374.16 us/op 1.07
altair processAttestation - setStatus - 2/3 committees join 500.80 us/op 469.92 us/op 1.07
altair processAttestation - setStatus - 4/5 committees join 712.80 us/op 658.26 us/op 1.08
altair processAttestation - setStatus - 100% committees join 851.53 us/op 778.13 us/op 1.09
altair processBlock - 250000 vs - 7PWei normalcase 18.218 ms/op 14.333 ms/op 1.27
altair processBlock - 250000 vs - 7PWei normalcase hashState 28.680 ms/op 27.627 ms/op 1.04
altair processBlock - 250000 vs - 7PWei worstcase 55.431 ms/op 48.011 ms/op 1.15
altair processBlock - 250000 vs - 7PWei worstcase hashState 81.525 ms/op 67.582 ms/op 1.21
phase0 processBlock - 250000 vs - 7PWei normalcase 2.4985 ms/op 1.9881 ms/op 1.26
phase0 processBlock - 250000 vs - 7PWei worstcase 34.566 ms/op 28.336 ms/op 1.22
altair processEth1Data - 250000 vs - 7PWei normalcase 515.60 us/op 454.89 us/op 1.13
vc - 250000 eb 1 eth1 1 we 0 wn 0 - smpl 15 8.5590 us/op 6.6820 us/op 1.28
vc - 250000 eb 0.95 eth1 0.1 we 0.05 wn 0 - smpl 219 22.779 us/op 19.643 us/op 1.16
vc - 250000 eb 0.95 eth1 0.3 we 0.05 wn 0 - smpl 42 12.333 us/op 8.3950 us/op 1.47
vc - 250000 eb 0.95 eth1 0.7 we 0.05 wn 0 - smpl 18 7.4120 us/op 6.7540 us/op 1.10
vc - 250000 eb 0.1 eth1 0.1 we 0 wn 0 - smpl 1020 83.445 us/op 84.786 us/op 0.98
vc - 250000 eb 0.03 eth1 0.03 we 0 wn 0 - smpl 11777 691.18 us/op 663.64 us/op 1.04
vc - 250000 eb 0.01 eth1 0.01 we 0 wn 0 - smpl 16384 940.58 us/op 892.92 us/op 1.05
vc - 250000 eb 0 eth1 0 we 0 wn 0 - smpl 16384 921.55 us/op 862.73 us/op 1.07
vc - 250000 eb 0 eth1 0 we 0 wn 0 nocache - smpl 16384 2.3812 ms/op 2.3289 ms/op 1.02
vc - 250000 eb 0 eth1 1 we 0 wn 0 - smpl 16384 1.5316 ms/op 1.6964 ms/op 0.90
vc - 250000 eb 0 eth1 1 we 0 wn 0 nocache - smpl 16384 3.9010 ms/op 3.9421 ms/op 0.99
Tree 40 250000 create 328.47 ms/op 304.47 ms/op 1.08
Tree 40 250000 get(125000) 191.75 ns/op 183.56 ns/op 1.04
Tree 40 250000 set(125000) 915.59 ns/op 902.80 ns/op 1.01
Tree 40 250000 toArray() 17.675 ms/op 17.727 ms/op 1.00
Tree 40 250000 iterate all - toArray() + loop 17.666 ms/op 17.360 ms/op 1.02
Tree 40 250000 iterate all - get(i) 69.521 ms/op 68.003 ms/op 1.02
MutableVector 250000 create 10.326 ms/op 9.2260 ms/op 1.12
MutableVector 250000 get(125000) 6.7620 ns/op 6.4110 ns/op 1.05
MutableVector 250000 set(125000) 277.40 ns/op 266.11 ns/op 1.04
MutableVector 250000 toArray() 2.8681 ms/op 2.7547 ms/op 1.04
MutableVector 250000 iterate all - toArray() + loop 3.2634 ms/op 2.8591 ms/op 1.14
MutableVector 250000 iterate all - get(i) 1.5974 ms/op 1.5153 ms/op 1.05
Array 250000 create 2.8175 ms/op 2.7013 ms/op 1.04
Array 250000 clone - spread 1.1998 ms/op 1.2354 ms/op 0.97
Array 250000 get(125000) 0.56000 ns/op 0.59600 ns/op 0.94
Array 250000 set(125000) 0.64900 ns/op 0.68800 ns/op 0.94
Array 250000 iterate all - loop 85.566 us/op 92.963 us/op 0.92
effectiveBalanceIncrements clone Uint8Array 300000 31.833 us/op 31.823 us/op 1.00
effectiveBalanceIncrements clone MutableVector 300000 356.00 ns/op 411.00 ns/op 0.87
effectiveBalanceIncrements rw all Uint8Array 300000 171.53 us/op 168.67 us/op 1.02
effectiveBalanceIncrements rw all MutableVector 300000 86.638 ms/op 87.191 ms/op 0.99
phase0 afterProcessEpoch - 250000 vs - 7PWei 117.27 ms/op 115.40 ms/op 1.02
phase0 beforeProcessEpoch - 250000 vs - 7PWei 42.955 ms/op 37.137 ms/op 1.16
altair processEpoch - mainnet_e81889 393.35 ms/op 301.23 ms/op 1.31
mainnet_e81889 - altair beforeProcessEpoch 111.54 ms/op 48.822 ms/op 2.28
mainnet_e81889 - altair processJustificationAndFinalization 43.980 us/op 17.628 us/op 2.49
mainnet_e81889 - altair processInactivityUpdates 6.6532 ms/op 5.6307 ms/op 1.18
mainnet_e81889 - altair processRewardsAndPenalties 86.506 ms/op 65.904 ms/op 1.31
mainnet_e81889 - altair processRegistryUpdates 5.2240 us/op 2.8740 us/op 1.82
mainnet_e81889 - altair processSlashings 537.00 ns/op 487.00 ns/op 1.10
mainnet_e81889 - altair processEth1DataReset 533.00 ns/op 501.00 ns/op 1.06
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.6608 ms/op 1.2467 ms/op 1.33
mainnet_e81889 - altair processSlashingsReset 4.6760 us/op 4.2330 us/op 1.10
mainnet_e81889 - altair processRandaoMixesReset 8.3900 us/op 6.2410 us/op 1.34
mainnet_e81889 - altair processHistoricalRootsUpdate 715.00 ns/op 668.00 ns/op 1.07
mainnet_e81889 - altair processParticipationFlagUpdates 3.6410 us/op 2.5860 us/op 1.41
mainnet_e81889 - altair processSyncCommitteeUpdates 537.00 ns/op 520.00 ns/op 1.03
mainnet_e81889 - altair afterProcessEpoch 134.50 ms/op 129.55 ms/op 1.04
phase0 processEpoch - mainnet_e58758 357.79 ms/op 371.22 ms/op 0.96
mainnet_e58758 - phase0 beforeProcessEpoch 128.50 ms/op 134.98 ms/op 0.95
mainnet_e58758 - phase0 processJustificationAndFinalization 17.654 us/op 15.599 us/op 1.13
mainnet_e58758 - phase0 processRewardsAndPenalties 65.346 ms/op 62.481 ms/op 1.05
mainnet_e58758 - phase0 processRegistryUpdates 8.2300 us/op 8.3090 us/op 0.99
mainnet_e58758 - phase0 processSlashings 479.00 ns/op 478.00 ns/op 1.00
mainnet_e58758 - phase0 processEth1DataReset 578.00 ns/op 445.00 ns/op 1.30
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.4011 ms/op 1.0077 ms/op 1.39
mainnet_e58758 - phase0 processSlashingsReset 5.1580 us/op 4.2230 us/op 1.22
mainnet_e58758 - phase0 processRandaoMixesReset 4.6230 us/op 4.7300 us/op 0.98
mainnet_e58758 - phase0 processHistoricalRootsUpdate 555.00 ns/op 532.00 ns/op 1.04
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.7220 us/op 3.7030 us/op 1.01
mainnet_e58758 - phase0 afterProcessEpoch 98.338 ms/op 98.054 ms/op 1.00
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.2349 ms/op 1.2029 ms/op 1.03
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.4819 ms/op 1.4684 ms/op 1.01
altair processInactivityUpdates - 250000 normalcase 23.401 ms/op 25.896 ms/op 0.90
altair processInactivityUpdates - 250000 worstcase 27.421 ms/op 24.849 ms/op 1.10
phase0 processRegistryUpdates - 250000 normalcase 11.671 us/op 6.6270 us/op 1.76
phase0 processRegistryUpdates - 250000 badcase_full_deposits 349.27 us/op 253.15 us/op 1.38
phase0 processRegistryUpdates - 250000 worstcase 0.5 143.59 ms/op 127.44 ms/op 1.13
altair processRewardsAndPenalties - 250000 normalcase 71.657 ms/op 65.836 ms/op 1.09
altair processRewardsAndPenalties - 250000 worstcase 72.206 ms/op 64.252 ms/op 1.12
phase0 getAttestationDeltas - 250000 normalcase 9.8721 ms/op 6.6414 ms/op 1.49
phase0 getAttestationDeltas - 250000 worstcase 9.2864 ms/op 6.6750 ms/op 1.39
phase0 processSlashings - 250000 worstcase 4.2306 ms/op 3.6179 ms/op 1.17
altair processSyncCommitteeUpdates - 250000 207.38 ms/op 173.28 ms/op 1.20
BeaconState.hashTreeRoot - No change 297.00 ns/op 270.00 ns/op 1.10
BeaconState.hashTreeRoot - 1 full validator 57.492 us/op 52.661 us/op 1.09
BeaconState.hashTreeRoot - 32 full validator 631.48 us/op 534.33 us/op 1.18
BeaconState.hashTreeRoot - 512 full validator 6.3916 ms/op 5.2872 ms/op 1.21
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 79.703 us/op 66.813 us/op 1.19
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.0315 ms/op 903.00 us/op 1.14
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 15.412 ms/op 11.516 ms/op 1.34
BeaconState.hashTreeRoot - 1 balances 64.812 us/op 52.398 us/op 1.24
BeaconState.hashTreeRoot - 32 balances 563.76 us/op 454.43 us/op 1.24
BeaconState.hashTreeRoot - 512 balances 5.7394 ms/op 4.2946 ms/op 1.34
BeaconState.hashTreeRoot - 250000 balances 85.138 ms/op 83.609 ms/op 1.02
aggregationBits - 2048 els - zipIndexesInBitList 22.488 us/op 17.334 us/op 1.30
regular array get 100000 times 38.326 us/op 34.413 us/op 1.11
wrappedArray get 100000 times 44.009 us/op 34.628 us/op 1.27
arrayWithProxy get 100000 times 18.316 ms/op 16.518 ms/op 1.11
ssz.Root.equals 635.00 ns/op 568.00 ns/op 1.12
byteArrayEquals 640.00 ns/op 581.00 ns/op 1.10
shuffle list - 16384 els 8.7271 ms/op 7.0637 ms/op 1.24
shuffle list - 250000 els 125.19 ms/op 101.68 ms/op 1.23
processSlot - 1 slots 10.738 us/op 8.4630 us/op 1.27
processSlot - 32 slots 1.7001 ms/op 1.3330 ms/op 1.28
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 250.66 us/op 194.13 us/op 1.29
getCommitteeAssignments - req 1 vs - 250000 vc 3.4685 ms/op 2.9218 ms/op 1.19
getCommitteeAssignments - req 100 vs - 250000 vc 4.6965 ms/op 4.1793 ms/op 1.12
getCommitteeAssignments - req 1000 vs - 250000 vc 5.2828 ms/op 4.5001 ms/op 1.17
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.3900 ns/op 4.4600 ns/op 1.21
state getBlockRootAtSlot - 250000 vs - 7PWei 1.1269 us/op 831.06 ns/op 1.36
computeProposers - vc 250000 13.945 ms/op 10.808 ms/op 1.29
computeEpochShuffling - vc 250000 121.53 ms/op 104.08 ms/op 1.17
getNextSyncCommittee - vc 250000 225.14 ms/op 187.72 ms/op 1.20

by benchmarkbot/action

@twoeths twoeths merged commit 7204718 into unstable Mar 17, 2023
@twoeths twoeths deleted the g11tech/v1.3.0-rc.4 branch March 17, 2023 23:04
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.7.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.

3 participants