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: deprecate engine_exchangeTransitionConfigurationV1 #5724

Merged
merged 1 commit into from
Jul 1, 2023

Conversation

g11tech
Copy link
Contributor

@g11tech g11tech commented Jun 30, 2023

just totally cleanup code instead of fork based stopping, to be applicable deneb devnet8 onwards

ELs should anyway be tracking engine calls to see if CL is communicating or not for logging any warnings

@g11tech g11tech requested a review from a team as a code owner June 30, 2023 16:47
@github-actions
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 4db0a55 Previous: 9ea69ef Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 609.01 us/op 490.26 us/op 1.24
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 55.967 us/op 46.214 us/op 1.21
BLS verify - blst-native 1.2964 ms/op 1.2314 ms/op 1.05
BLS verifyMultipleSignatures 3 - blst-native 2.5809 ms/op 2.5078 ms/op 1.03
BLS verifyMultipleSignatures 8 - blst-native 5.4410 ms/op 5.3846 ms/op 1.01
BLS verifyMultipleSignatures 32 - blst-native 19.756 ms/op 19.435 ms/op 1.02
BLS aggregatePubkeys 32 - blst-native 26.731 us/op 26.304 us/op 1.02
BLS aggregatePubkeys 128 - blst-native 105.73 us/op 101.44 us/op 1.04
getAttestationsForBlock 62.970 ms/op 51.511 ms/op 1.22
isKnown best case - 1 super set check 265.00 ns/op 252.00 ns/op 1.05
isKnown normal case - 2 super set checks 258.00 ns/op 250.00 ns/op 1.03
isKnown worse case - 16 super set checks 267.00 ns/op 248.00 ns/op 1.08
CheckpointStateCache - add get delete 6.3050 us/op 5.2310 us/op 1.21
validate gossip signedAggregateAndProof - struct 2.8553 ms/op 2.8307 ms/op 1.01
validate gossip attestation - struct 1.3761 ms/op 1.3488 ms/op 1.02
pickEth1Vote - no votes 1.4216 ms/op 1.2533 ms/op 1.13
pickEth1Vote - max votes 11.723 ms/op 8.5778 ms/op 1.37
pickEth1Vote - Eth1Data hashTreeRoot value x2048 10.558 ms/op 8.6072 ms/op 1.23
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 18.097 ms/op 13.727 ms/op 1.32
pickEth1Vote - Eth1Data fastSerialize value x2048 809.04 us/op 660.50 us/op 1.22
pickEth1Vote - Eth1Data fastSerialize tree x2048 7.4435 ms/op 4.5497 ms/op 1.64
bytes32 toHexString 804.00 ns/op 501.00 ns/op 1.60
bytes32 Buffer.toString(hex) 462.00 ns/op 355.00 ns/op 1.30
bytes32 Buffer.toString(hex) from Uint8Array 695.00 ns/op 561.00 ns/op 1.24
bytes32 Buffer.toString(hex) + 0x 440.00 ns/op 359.00 ns/op 1.23
Object access 1 prop 0.20600 ns/op 0.16700 ns/op 1.23
Map access 1 prop 0.17000 ns/op 0.15900 ns/op 1.07
Object get x1000 6.9980 ns/op 6.6650 ns/op 1.05
Map get x1000 0.65000 ns/op 0.53800 ns/op 1.21
Object set x1000 59.705 ns/op 54.266 ns/op 1.10
Map set x1000 45.322 ns/op 43.988 ns/op 1.03
Return object 10000 times 0.24560 ns/op 0.25020 ns/op 0.98
Throw Error 10000 times 4.3618 us/op 4.2675 us/op 1.02
fastMsgIdFn sha256 / 200 bytes 3.5270 us/op 3.5760 us/op 0.99
fastMsgIdFn h32 xxhash / 200 bytes 291.00 ns/op 285.00 ns/op 1.02
fastMsgIdFn h64 xxhash / 200 bytes 483.00 ns/op 398.00 ns/op 1.21
fastMsgIdFn sha256 / 1000 bytes 12.097 us/op 11.716 us/op 1.03
fastMsgIdFn h32 xxhash / 1000 bytes 433.00 ns/op 407.00 ns/op 1.06
fastMsgIdFn h64 xxhash / 1000 bytes 546.00 ns/op 440.00 ns/op 1.24
fastMsgIdFn sha256 / 10000 bytes 107.11 us/op 105.29 us/op 1.02
fastMsgIdFn h32 xxhash / 10000 bytes 2.0260 us/op 1.9530 us/op 1.04
fastMsgIdFn h64 xxhash / 10000 bytes 1.4800 us/op 1.3820 us/op 1.07
enrSubnets - fastDeserialize 64 bits 1.6500 us/op 1.2870 us/op 1.28
enrSubnets - ssz BitVector 64 bits 595.00 ns/op 462.00 ns/op 1.29
enrSubnets - fastDeserialize 4 bits 206.00 ns/op 170.00 ns/op 1.21
enrSubnets - ssz BitVector 4 bits 538.00 ns/op 461.00 ns/op 1.17
prioritizePeers score -10:0 att 32-0.1 sync 2-0 118.09 us/op 109.06 us/op 1.08
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 161.60 us/op 138.43 us/op 1.17
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 195.41 us/op 180.73 us/op 1.08
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 362.88 us/op 316.47 us/op 1.15
prioritizePeers score 0:0 att 64-1 sync 4-1 452.07 us/op 416.31 us/op 1.09
array of 16000 items push then shift 1.6975 us/op 1.6613 us/op 1.02
LinkedList of 16000 items push then shift 9.0450 ns/op 8.8240 ns/op 1.03
array of 16000 items push then pop 109.86 ns/op 91.499 ns/op 1.20
LinkedList of 16000 items push then pop 8.9410 ns/op 8.4360 ns/op 1.06
array of 24000 items push then shift 2.5453 us/op 2.4493 us/op 1.04
LinkedList of 24000 items push then shift 9.8800 ns/op 8.9370 ns/op 1.11
array of 24000 items push then pop 97.016 ns/op 76.860 ns/op 1.26
LinkedList of 24000 items push then pop 9.5690 ns/op 8.6630 ns/op 1.10
intersect bitArray bitLen 8 14.031 ns/op 13.291 ns/op 1.06
intersect array and set length 8 96.238 ns/op 78.389 ns/op 1.23
intersect bitArray bitLen 128 48.955 ns/op 44.280 ns/op 1.11
intersect array and set length 128 1.2828 us/op 1.0817 us/op 1.19
Buffer.concat 32 items 3.5150 us/op 2.9000 us/op 1.21
Uint8Array.set 32 items 2.9180 us/op 2.4860 us/op 1.17
transfer serialized Status (84 B) 2.2070 us/op 2.0960 us/op 1.05
copy serialized Status (84 B) 1.7760 us/op 1.6540 us/op 1.07
transfer serialized SignedVoluntaryExit (112 B) 2.2990 us/op 2.0600 us/op 1.12
copy serialized SignedVoluntaryExit (112 B) 1.8860 us/op 1.7030 us/op 1.11
transfer serialized ProposerSlashing (416 B) 3.4910 us/op 3.0900 us/op 1.13
copy serialized ProposerSlashing (416 B) 2.8200 us/op 3.3380 us/op 0.84
transfer serialized Attestation (485 B) 3.5180 us/op 3.3040 us/op 1.06
copy serialized Attestation (485 B) 3.3330 us/op 2.3570 us/op 1.41
transfer serialized AttesterSlashing (33232 B) 3.4360 us/op 2.8820 us/op 1.19
copy serialized AttesterSlashing (33232 B) 8.4140 us/op 6.5850 us/op 1.28
transfer serialized Small SignedBeaconBlock (128000 B) 3.7880 us/op 3.2180 us/op 1.18
copy serialized Small SignedBeaconBlock (128000 B) 17.723 us/op 16.251 us/op 1.09
transfer serialized Avg SignedBeaconBlock (200000 B) 4.1130 us/op 3.9990 us/op 1.03
copy serialized Avg SignedBeaconBlock (200000 B) 30.436 us/op 71.120 us/op 0.43
transfer serialized BlobsSidecar (524380 B) 4.9870 us/op 3.5740 us/op 1.40
copy serialized BlobsSidecar (524380 B) 218.46 us/op 83.002 us/op 2.63
transfer serialized Big SignedBeaconBlock (1000000 B) 5.2840 us/op 3.4050 us/op 1.55
copy serialized Big SignedBeaconBlock (1000000 B) 344.41 us/op 261.74 us/op 1.32
pass gossip attestations to forkchoice per slot 2.7964 ms/op 2.7137 ms/op 1.03
forkChoice updateHead vc 100000 bc 64 eq 0 2.1286 ms/op 2.0905 ms/op 1.02
forkChoice updateHead vc 600000 bc 64 eq 0 13.843 ms/op 11.922 ms/op 1.16
forkChoice updateHead vc 1000000 bc 64 eq 0 26.366 ms/op 22.282 ms/op 1.18
forkChoice updateHead vc 600000 bc 320 eq 0 20.360 ms/op 16.844 ms/op 1.21
forkChoice updateHead vc 600000 bc 1200 eq 0 104.78 ms/op 83.381 ms/op 1.26
forkChoice updateHead vc 600000 bc 64 eq 1000 25.278 ms/op 21.272 ms/op 1.19
forkChoice updateHead vc 600000 bc 64 eq 10000 25.932 ms/op 23.349 ms/op 1.11
forkChoice updateHead vc 600000 bc 64 eq 300000 72.663 ms/op 31.678 ms/op 2.29
computeDeltas 4.1333 ms/op 3.3367 ms/op 1.24
computeProposerBoostScoreFromBalances 2.0864 ms/op 1.7788 ms/op 1.17
altair processAttestation - 250000 vs - 7PWei normalcase 3.7213 ms/op 2.1912 ms/op 1.70
altair processAttestation - 250000 vs - 7PWei worstcase 5.2853 ms/op 3.3322 ms/op 1.59
altair processAttestation - setStatus - 1/6 committees join 164.68 us/op 143.75 us/op 1.15
altair processAttestation - setStatus - 1/3 committees join 297.99 us/op 288.16 us/op 1.03
altair processAttestation - setStatus - 1/2 committees join 405.73 us/op 382.87 us/op 1.06
altair processAttestation - setStatus - 2/3 committees join 532.08 us/op 476.58 us/op 1.12
altair processAttestation - setStatus - 4/5 committees join 733.93 us/op 679.52 us/op 1.08
altair processAttestation - setStatus - 100% committees join 824.32 us/op 790.97 us/op 1.04
altair processBlock - 250000 vs - 7PWei normalcase 20.920 ms/op 18.355 ms/op 1.14
altair processBlock - 250000 vs - 7PWei normalcase hashState 29.267 ms/op 26.957 ms/op 1.09
altair processBlock - 250000 vs - 7PWei worstcase 53.733 ms/op 52.032 ms/op 1.03
altair processBlock - 250000 vs - 7PWei worstcase hashState 77.783 ms/op 67.317 ms/op 1.16
phase0 processBlock - 250000 vs - 7PWei normalcase 2.7086 ms/op 2.2736 ms/op 1.19
phase0 processBlock - 250000 vs - 7PWei worstcase 35.499 ms/op 28.661 ms/op 1.24
altair processEth1Data - 250000 vs - 7PWei normalcase 718.67 us/op 471.81 us/op 1.52
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 10.723 us/op 7.3650 us/op 1.46
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 31.784 us/op 19.629 us/op 1.62
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 12.886 us/op 8.8440 us/op 1.46
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 9.0200 us/op 6.9910 us/op 1.29
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 115.70 us/op 85.323 us/op 1.36
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 663.00 us/op 645.22 us/op 1.03
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 920.33 us/op 929.65 us/op 0.99
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 909.31 us/op 910.50 us/op 1.00
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.0078 ms/op 2.4004 ms/op 1.25
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.5680 ms/op 1.5767 ms/op 0.99
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.7171 ms/op 3.8840 ms/op 1.21
Tree 40 250000 create 458.68 ms/op 301.94 ms/op 1.52
Tree 40 250000 get(125000) 201.38 ns/op 182.02 ns/op 1.11
Tree 40 250000 set(125000) 1.2369 us/op 962.36 ns/op 1.29
Tree 40 250000 toArray() 23.349 ms/op 18.200 ms/op 1.28
Tree 40 250000 iterate all - toArray() + loop 23.008 ms/op 17.551 ms/op 1.31
Tree 40 250000 iterate all - get(i) 78.622 ms/op 72.597 ms/op 1.08
MutableVector 250000 create 11.957 ms/op 13.013 ms/op 0.92
MutableVector 250000 get(125000) 6.5340 ns/op 6.3830 ns/op 1.02
MutableVector 250000 set(125000) 309.54 ns/op 266.43 ns/op 1.16
MutableVector 250000 toArray() 3.9644 ms/op 2.7215 ms/op 1.46
MutableVector 250000 iterate all - toArray() + loop 4.0577 ms/op 3.0107 ms/op 1.35
MutableVector 250000 iterate all - get(i) 1.5814 ms/op 1.5488 ms/op 1.02
Array 250000 create 3.8529 ms/op 2.5795 ms/op 1.49
Array 250000 clone - spread 1.3817 ms/op 1.3093 ms/op 1.06
Array 250000 get(125000) 0.70800 ns/op 0.65900 ns/op 1.07
Array 250000 set(125000) 0.80400 ns/op 0.74100 ns/op 1.09
Array 250000 iterate all - loop 116.17 us/op 112.38 us/op 1.03
effectiveBalanceIncrements clone Uint8Array 300000 53.166 us/op 32.577 us/op 1.63
effectiveBalanceIncrements clone MutableVector 300000 469.00 ns/op 433.00 ns/op 1.08
effectiveBalanceIncrements rw all Uint8Array 300000 171.57 us/op 170.49 us/op 1.01
effectiveBalanceIncrements rw all MutableVector 300000 120.11 ms/op 85.318 ms/op 1.41
phase0 afterProcessEpoch - 250000 vs - 7PWei 120.00 ms/op 113.89 ms/op 1.05
phase0 beforeProcessEpoch - 250000 vs - 7PWei 38.467 ms/op 34.495 ms/op 1.12
altair processEpoch - mainnet_e81889 327.97 ms/op 328.16 ms/op 1.00
mainnet_e81889 - altair beforeProcessEpoch 73.134 ms/op 70.828 ms/op 1.03
mainnet_e81889 - altair processJustificationAndFinalization 20.633 us/op 17.286 us/op 1.19
mainnet_e81889 - altair processInactivityUpdates 6.0702 ms/op 5.5243 ms/op 1.10
mainnet_e81889 - altair processRewardsAndPenalties 52.973 ms/op 66.588 ms/op 0.80
mainnet_e81889 - altair processRegistryUpdates 3.2100 us/op 2.3660 us/op 1.36
mainnet_e81889 - altair processSlashings 554.00 ns/op 453.00 ns/op 1.22
mainnet_e81889 - altair processEth1DataReset 605.00 ns/op 497.00 ns/op 1.22
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.2832 ms/op 2.0455 ms/op 0.63
mainnet_e81889 - altair processSlashingsReset 4.4860 us/op 4.7100 us/op 0.95
mainnet_e81889 - altair processRandaoMixesReset 7.6550 us/op 4.3220 us/op 1.77
mainnet_e81889 - altair processHistoricalRootsUpdate 1.1290 us/op 777.00 ns/op 1.45
mainnet_e81889 - altair processParticipationFlagUpdates 3.3760 us/op 2.7410 us/op 1.23
mainnet_e81889 - altair processSyncCommitteeUpdates 644.00 ns/op 564.00 ns/op 1.14
mainnet_e81889 - altair afterProcessEpoch 125.42 ms/op 128.87 ms/op 0.97
phase0 processEpoch - mainnet_e58758 334.34 ms/op 361.67 ms/op 0.92
mainnet_e58758 - phase0 beforeProcessEpoch 107.16 ms/op 142.92 ms/op 0.75
mainnet_e58758 - phase0 processJustificationAndFinalization 15.879 us/op 17.221 us/op 0.92
mainnet_e58758 - phase0 processRewardsAndPenalties 45.133 ms/op 64.354 ms/op 0.70
mainnet_e58758 - phase0 processRegistryUpdates 8.8080 us/op 9.2430 us/op 0.95
mainnet_e58758 - phase0 processSlashings 504.00 ns/op 505.00 ns/op 1.00
mainnet_e58758 - phase0 processEth1DataReset 503.00 ns/op 503.00 ns/op 1.00
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 942.72 us/op 1.0817 ms/op 0.87
mainnet_e58758 - phase0 processSlashingsReset 4.5090 us/op 4.0030 us/op 1.13
mainnet_e58758 - phase0 processRandaoMixesReset 4.8130 us/op 4.8710 us/op 0.99
mainnet_e58758 - phase0 processHistoricalRootsUpdate 726.00 ns/op 714.00 ns/op 1.02
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.1380 us/op 3.7550 us/op 1.10
mainnet_e58758 - phase0 afterProcessEpoch 95.407 ms/op 98.642 ms/op 0.97
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.1974 ms/op 1.2481 ms/op 0.96
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.5040 ms/op 1.5487 ms/op 0.97
altair processInactivityUpdates - 250000 normalcase 20.877 ms/op 24.347 ms/op 0.86
altair processInactivityUpdates - 250000 worstcase 23.154 ms/op 27.526 ms/op 0.84
phase0 processRegistryUpdates - 250000 normalcase 6.2550 us/op 7.1330 us/op 0.88
phase0 processRegistryUpdates - 250000 badcase_full_deposits 260.16 us/op 258.40 us/op 1.01
phase0 processRegistryUpdates - 250000 worstcase 0.5 117.64 ms/op 126.01 ms/op 0.93
altair processRewardsAndPenalties - 250000 normalcase 56.859 ms/op 66.102 ms/op 0.86
altair processRewardsAndPenalties - 250000 worstcase 49.067 ms/op 69.907 ms/op 0.70
phase0 getAttestationDeltas - 250000 normalcase 6.6462 ms/op 7.1279 ms/op 0.93
phase0 getAttestationDeltas - 250000 worstcase 6.7148 ms/op 7.1400 ms/op 0.94
phase0 processSlashings - 250000 worstcase 3.6035 ms/op 3.7850 ms/op 0.95
altair processSyncCommitteeUpdates - 250000 179.11 ms/op 182.23 ms/op 0.98
BeaconState.hashTreeRoot - No change 259.00 ns/op 266.00 ns/op 0.97
BeaconState.hashTreeRoot - 1 full validator 49.939 us/op 53.629 us/op 0.93
BeaconState.hashTreeRoot - 32 full validator 550.49 us/op 497.31 us/op 1.11
BeaconState.hashTreeRoot - 512 full validator 5.0902 ms/op 5.3350 ms/op 0.95
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 61.829 us/op 61.228 us/op 1.01
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 879.46 us/op 881.47 us/op 1.00
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 11.579 ms/op 11.992 ms/op 0.97
BeaconState.hashTreeRoot - 1 balances 49.464 us/op 49.230 us/op 1.00
BeaconState.hashTreeRoot - 32 balances 449.76 us/op 461.34 us/op 0.97
BeaconState.hashTreeRoot - 512 balances 4.5751 ms/op 4.4921 ms/op 1.02
BeaconState.hashTreeRoot - 250000 balances 75.621 ms/op 77.120 ms/op 0.98
aggregationBits - 2048 els - zipIndexesInBitList 17.651 us/op 15.679 us/op 1.13
regular array get 100000 times 33.062 us/op 32.144 us/op 1.03
wrappedArray get 100000 times 43.735 us/op 42.839 us/op 1.02
arrayWithProxy get 100000 times 16.407 ms/op 14.476 ms/op 1.13
ssz.Root.equals 568.00 ns/op 527.00 ns/op 1.08
byteArrayEquals 542.00 ns/op 515.00 ns/op 1.05
shuffle list - 16384 els 6.9303 ms/op 6.6914 ms/op 1.04
shuffle list - 250000 els 102.27 ms/op 98.668 ms/op 1.04
processSlot - 1 slots 9.9440 us/op 9.0480 us/op 1.10
processSlot - 32 slots 1.4210 ms/op 1.3286 ms/op 1.07
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 32.741 ms/op 37.088 ms/op 0.88
getCommitteeAssignments - req 1 vs - 250000 vc 2.9246 ms/op 2.9468 ms/op 0.99
getCommitteeAssignments - req 100 vs - 250000 vc 4.1535 ms/op 4.1744 ms/op 1.00
getCommitteeAssignments - req 1000 vs - 250000 vc 4.4884 ms/op 4.3827 ms/op 1.02
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.8900 ns/op 4.5200 ns/op 1.08
state getBlockRootAtSlot - 250000 vs - 7PWei 543.81 ns/op 929.67 ns/op 0.58
computeProposers - vc 250000 10.616 ms/op 11.431 ms/op 0.93
computeEpochShuffling - vc 250000 102.56 ms/op 104.79 ms/op 0.98
getNextSyncCommittee - vc 250000 178.42 ms/op 184.48 ms/op 0.97
computeSigningRoot for AttestationData 13.798 us/op 13.804 us/op 1.00
hash AttestationData serialized data then Buffer.toString(base64) 2.4311 us/op 2.5023 us/op 0.97
toHexString serialized data 1.0817 us/op 1.0849 us/op 1.00
Buffer.toString(base64) 321.23 ns/op 327.80 ns/op 0.98

by benchmarkbot/action

@g11tech g11tech mentioned this pull request Jul 1, 2023
40 tasks
@wemeetagain wemeetagain merged commit 0f0f533 into unstable Jul 1, 2023
@wemeetagain wemeetagain deleted the g11tech/remove-exchangetransition branch July 1, 2023 16:02
@wemeetagain
Copy link
Member

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

2 participants