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: update specs to v1.4.0-alpha.2 #5630

Merged
merged 2 commits into from
Jun 12, 2023
Merged

Conversation

g11tech
Copy link
Contributor

@g11tech g11tech commented Jun 12, 2023

@g11tech g11tech requested a review from a team as a code owner June 12, 2023 12:57
@g11tech g11tech enabled auto-merge (squash) June 12, 2023 13:08
@github-actions
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 78cb014 Previous: 09ecf99 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 587.33 us/op 1.0137 ms/op 0.58
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 52.219 us/op 53.559 us/op 0.97
BLS verify - blst-native 1.2610 ms/op 1.2788 ms/op 0.99
BLS verifyMultipleSignatures 3 - blst-native 2.5498 ms/op 2.5960 ms/op 0.98
BLS verifyMultipleSignatures 8 - blst-native 5.4858 ms/op 5.4902 ms/op 1.00
BLS verifyMultipleSignatures 32 - blst-native 19.638 ms/op 19.858 ms/op 0.99
BLS aggregatePubkeys 32 - blst-native 26.437 us/op 26.578 us/op 0.99
BLS aggregatePubkeys 128 - blst-native 102.84 us/op 104.25 us/op 0.99
getAttestationsForBlock 61.154 ms/op 64.855 ms/op 0.94
isKnown best case - 1 super set check 259.00 ns/op 275.00 ns/op 0.94
isKnown normal case - 2 super set checks 257.00 ns/op 268.00 ns/op 0.96
isKnown worse case - 16 super set checks 258.00 ns/op 265.00 ns/op 0.97
CheckpointStateCache - add get delete 5.8480 us/op 5.9640 us/op 0.98
validate gossip signedAggregateAndProof - struct 2.8400 ms/op 2.9571 ms/op 0.96
validate gossip attestation - struct 1.3522 ms/op 1.4232 ms/op 0.95
pickEth1Vote - no votes 1.3505 ms/op 1.4284 ms/op 0.95
pickEth1Vote - max votes 9.8811 ms/op 14.877 ms/op 0.66
pickEth1Vote - Eth1Data hashTreeRoot value x2048 9.4554 ms/op 10.081 ms/op 0.94
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 16.828 ms/op 17.812 ms/op 0.94
pickEth1Vote - Eth1Data fastSerialize value x2048 776.05 us/op 752.96 us/op 1.03
pickEth1Vote - Eth1Data fastSerialize tree x2048 5.8447 ms/op 9.8292 ms/op 0.59
bytes32 toHexString 710.00 ns/op 736.00 ns/op 0.96
bytes32 Buffer.toString(hex) 439.00 ns/op 456.00 ns/op 0.96
bytes32 Buffer.toString(hex) from Uint8Array 654.00 ns/op 678.00 ns/op 0.96
bytes32 Buffer.toString(hex) + 0x 438.00 ns/op 469.00 ns/op 0.93
Object access 1 prop 0.20100 ns/op 0.22500 ns/op 0.89
Map access 1 prop 0.17200 ns/op 0.17000 ns/op 1.01
Object get x1000 6.5550 ns/op 7.1080 ns/op 0.92
Map get x1000 0.65300 ns/op 0.67000 ns/op 0.97
Object set x1000 60.215 ns/op 60.698 ns/op 0.99
Map set x1000 54.450 ns/op 50.714 ns/op 1.07
Return object 10000 times 0.24640 ns/op 0.26020 ns/op 0.95
Throw Error 10000 times 4.3319 us/op 4.2993 us/op 1.01
fastMsgIdFn sha256 / 200 bytes 3.5140 us/op 3.4910 us/op 1.01
fastMsgIdFn h32 xxhash / 200 bytes 315.00 ns/op 301.00 ns/op 1.05
fastMsgIdFn h64 xxhash / 200 bytes 443.00 ns/op 425.00 ns/op 1.04
fastMsgIdFn sha256 / 1000 bytes 11.779 us/op 11.574 us/op 1.02
fastMsgIdFn h32 xxhash / 1000 bytes 436.00 ns/op 425.00 ns/op 1.03
fastMsgIdFn h64 xxhash / 1000 bytes 547.00 ns/op 469.00 ns/op 1.17
fastMsgIdFn sha256 / 10000 bytes 105.17 us/op 103.28 us/op 1.02
fastMsgIdFn h32 xxhash / 10000 bytes 1.9980 us/op 1.9770 us/op 1.01
fastMsgIdFn h64 xxhash / 10000 bytes 1.4710 us/op 1.4250 us/op 1.03
enrSubnets - fastDeserialize 64 bits 1.7570 us/op 1.4380 us/op 1.22
enrSubnets - ssz BitVector 64 bits 644.00 ns/op 509.00 ns/op 1.27
enrSubnets - fastDeserialize 4 bits 200.00 ns/op 183.00 ns/op 1.09
enrSubnets - ssz BitVector 4 bits 622.00 ns/op 544.00 ns/op 1.14
prioritizePeers score -10:0 att 32-0.1 sync 2-0 117.05 us/op 113.48 us/op 1.03
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 151.49 us/op 138.58 us/op 1.09
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 190.77 us/op 185.41 us/op 1.03
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 341.53 us/op 329.68 us/op 1.04
prioritizePeers score 0:0 att 64-1 sync 4-1 404.28 us/op 413.27 us/op 0.98
array of 16000 items push then shift 1.6937 us/op 1.7090 us/op 0.99
LinkedList of 16000 items push then shift 9.4310 ns/op 9.6770 ns/op 0.97
array of 16000 items push then pop 108.33 ns/op 118.71 ns/op 0.91
LinkedList of 16000 items push then pop 8.7980 ns/op 9.5350 ns/op 0.92
array of 24000 items push then shift 2.3990 us/op 2.4719 us/op 0.97
LinkedList of 24000 items push then shift 9.3530 ns/op 11.056 ns/op 0.85
array of 24000 items push then pop 89.143 ns/op 94.731 ns/op 0.94
LinkedList of 24000 items push then pop 8.5740 ns/op 9.7040 ns/op 0.88
intersect bitArray bitLen 8 13.316 ns/op 17.202 ns/op 0.77
intersect array and set length 8 78.768 ns/op 120.46 ns/op 0.65
intersect bitArray bitLen 128 44.499 ns/op 47.152 ns/op 0.94
intersect array and set length 128 1.1096 us/op 1.4054 us/op 0.79
Buffer.concat 32 items 2.7710 us/op 3.2910 us/op 0.84
Uint8Array.set 32 items 2.4470 us/op 3.1990 us/op 0.76
transfer serialized Status (84 B) 2.0080 us/op 2.5630 us/op 0.78
copy serialized Status (84 B) 1.7220 us/op 1.9980 us/op 0.86
transfer serialized SignedVoluntaryExit (112 B) 2.0830 us/op 2.4950 us/op 0.83
copy serialized SignedVoluntaryExit (112 B) 1.6820 us/op 2.0610 us/op 0.82
transfer serialized ProposerSlashing (416 B) 2.2620 us/op 3.4910 us/op 0.65
copy serialized ProposerSlashing (416 B) 2.0470 us/op 3.3580 us/op 0.61
transfer serialized Attestation (485 B) 2.2080 us/op 3.2460 us/op 0.68
copy serialized Attestation (485 B) 1.9800 us/op 2.9380 us/op 0.67
transfer serialized AttesterSlashing (33232 B) 2.4030 us/op 3.5120 us/op 0.68
copy serialized AttesterSlashing (33232 B) 14.616 us/op 9.4320 us/op 1.55
transfer serialized Small SignedBeaconBlock (128000 B) 2.7560 us/op 3.1600 us/op 0.87
copy serialized Small SignedBeaconBlock (128000 B) 18.740 us/op 55.287 us/op 0.34
transfer serialized Avg SignedBeaconBlock (200000 B) 3.6730 us/op 3.8640 us/op 0.95
copy serialized Avg SignedBeaconBlock (200000 B) 23.628 us/op 40.627 us/op 0.58
transfer serialized BlobsSidecar (524380 B) 3.5080 us/op 4.1830 us/op 0.84
copy serialized BlobsSidecar (524380 B) 75.992 us/op 137.87 us/op 0.55
transfer serialized Big SignedBeaconBlock (1000000 B) 3.6230 us/op 4.8240 us/op 0.75
copy serialized Big SignedBeaconBlock (1000000 B) 311.91 us/op 366.17 us/op 0.85
pass gossip attestations to forkchoice per slot 2.7099 ms/op 2.8918 ms/op 0.94
forkChoice updateHead vc 100000 bc 64 eq 0 2.2820 ms/op 2.4583 ms/op 0.93
forkChoice updateHead vc 600000 bc 64 eq 0 12.018 ms/op 13.200 ms/op 0.91
forkChoice updateHead vc 1000000 bc 64 eq 0 21.103 ms/op 25.580 ms/op 0.82
forkChoice updateHead vc 600000 bc 320 eq 0 17.178 ms/op 18.363 ms/op 0.94
forkChoice updateHead vc 600000 bc 1200 eq 0 87.540 ms/op 86.627 ms/op 1.01
forkChoice updateHead vc 600000 bc 64 eq 1000 21.505 ms/op 21.611 ms/op 1.00
forkChoice updateHead vc 600000 bc 64 eq 10000 23.488 ms/op 23.486 ms/op 1.00
forkChoice updateHead vc 600000 bc 64 eq 300000 31.493 ms/op 32.147 ms/op 0.98
computeDeltas 3.0714 ms/op 3.7329 ms/op 0.82
computeProposerBoostScoreFromBalances 1.8020 ms/op 1.8434 ms/op 0.98
altair processAttestation - 250000 vs - 7PWei normalcase 3.0074 ms/op 2.3341 ms/op 1.29
altair processAttestation - 250000 vs - 7PWei worstcase 3.6543 ms/op 3.9845 ms/op 0.92
altair processAttestation - setStatus - 1/6 committees join 140.48 us/op 149.53 us/op 0.94
altair processAttestation - setStatus - 1/3 committees join 283.88 us/op 300.59 us/op 0.94
altair processAttestation - setStatus - 1/2 committees join 385.25 us/op 386.77 us/op 1.00
altair processAttestation - setStatus - 2/3 committees join 463.48 us/op 491.83 us/op 0.94
altair processAttestation - setStatus - 4/5 committees join 656.97 us/op 694.94 us/op 0.95
altair processAttestation - setStatus - 100% committees join 759.83 us/op 802.49 us/op 0.95
altair processBlock - 250000 vs - 7PWei normalcase 16.458 ms/op 20.485 ms/op 0.80
altair processBlock - 250000 vs - 7PWei normalcase hashState 28.083 ms/op 31.046 ms/op 0.90
altair processBlock - 250000 vs - 7PWei worstcase 49.179 ms/op 56.260 ms/op 0.87
altair processBlock - 250000 vs - 7PWei worstcase hashState 71.592 ms/op 79.955 ms/op 0.90
phase0 processBlock - 250000 vs - 7PWei normalcase 2.1382 ms/op 2.5768 ms/op 0.83
phase0 processBlock - 250000 vs - 7PWei worstcase 29.866 ms/op 30.622 ms/op 0.98
altair processEth1Data - 250000 vs - 7PWei normalcase 554.09 us/op 663.52 us/op 0.84
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 8.3320 us/op 9.1110 us/op 0.91
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 28.352 us/op 24.952 us/op 1.14
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 10.470 us/op 11.603 us/op 0.90
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 7.3920 us/op 11.319 us/op 0.65
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 90.716 us/op 138.38 us/op 0.66
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 648.06 us/op 814.54 us/op 0.80
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 895.44 us/op 1.1704 ms/op 0.77
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 878.82 us/op 1.0279 ms/op 0.85
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.3711 ms/op 2.4328 ms/op 0.97
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.5717 ms/op 1.8677 ms/op 0.84
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.8451 ms/op 4.7313 ms/op 0.81
Tree 40 250000 create 310.53 ms/op 996.88 ms/op 0.31
Tree 40 250000 get(125000) 186.06 ns/op 205.96 ns/op 0.90
Tree 40 250000 set(125000) 973.39 ns/op 2.3018 us/op 0.42
Tree 40 250000 toArray() 18.532 ms/op 30.007 ms/op 0.62
Tree 40 250000 iterate all - toArray() + loop 18.533 ms/op 34.231 ms/op 0.54
Tree 40 250000 iterate all - get(i) 69.587 ms/op 93.006 ms/op 0.75
MutableVector 250000 create 10.891 ms/op 15.402 ms/op 0.71
MutableVector 250000 get(125000) 6.3080 ns/op 7.3600 ns/op 0.86
MutableVector 250000 set(125000) 262.79 ns/op 673.20 ns/op 0.39
MutableVector 250000 toArray() 3.3312 ms/op 5.9052 ms/op 0.56
MutableVector 250000 iterate all - toArray() + loop 3.3409 ms/op 6.0408 ms/op 0.55
MutableVector 250000 iterate all - get(i) 1.4994 ms/op 1.6231 ms/op 0.92
Array 250000 create 2.7885 ms/op 5.4281 ms/op 0.51
Array 250000 clone - spread 1.1113 ms/op 1.8292 ms/op 0.61
Array 250000 get(125000) 0.54400 ns/op 1.4420 ns/op 0.38
Array 250000 set(125000) 0.60200 ns/op 2.3190 ns/op 0.26
Array 250000 iterate all - loop 82.251 us/op 93.232 us/op 0.88
effectiveBalanceIncrements clone Uint8Array 300000 24.773 us/op 101.36 us/op 0.24
effectiveBalanceIncrements clone MutableVector 300000 343.00 ns/op 1.9090 us/op 0.18
effectiveBalanceIncrements rw all Uint8Array 300000 165.66 us/op 182.45 us/op 0.91
effectiveBalanceIncrements rw all MutableVector 300000 79.460 ms/op 220.55 ms/op 0.36
phase0 afterProcessEpoch - 250000 vs - 7PWei 112.35 ms/op 128.44 ms/op 0.87
phase0 beforeProcessEpoch - 250000 vs - 7PWei 42.572 ms/op 63.851 ms/op 0.67
altair processEpoch - mainnet_e81889 314.49 ms/op 461.50 ms/op 0.68
mainnet_e81889 - altair beforeProcessEpoch 54.288 ms/op 89.419 ms/op 0.61
mainnet_e81889 - altair processJustificationAndFinalization 17.052 us/op 30.775 us/op 0.55
mainnet_e81889 - altair processInactivityUpdates 5.6053 ms/op 11.002 ms/op 0.51
mainnet_e81889 - altair processRewardsAndPenalties 66.980 ms/op 83.137 ms/op 0.81
mainnet_e81889 - altair processRegistryUpdates 2.8650 us/op 6.8240 us/op 0.42
mainnet_e81889 - altair processSlashings 613.00 ns/op 1.3460 us/op 0.46
mainnet_e81889 - altair processEth1DataReset 592.00 ns/op 1.6560 us/op 0.36
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.2618 ms/op 2.3385 ms/op 0.54
mainnet_e81889 - altair processSlashingsReset 5.3050 us/op 8.9040 us/op 0.60
mainnet_e81889 - altair processRandaoMixesReset 4.3800 us/op 12.484 us/op 0.35
mainnet_e81889 - altair processHistoricalRootsUpdate 748.00 ns/op 2.1050 us/op 0.36
mainnet_e81889 - altair processParticipationFlagUpdates 3.7750 us/op 6.1660 us/op 0.61
mainnet_e81889 - altair processSyncCommitteeUpdates 916.00 ns/op 1.9430 us/op 0.47
mainnet_e81889 - altair afterProcessEpoch 128.31 ms/op 168.02 ms/op 0.76
phase0 processEpoch - mainnet_e58758 369.11 ms/op 425.39 ms/op 0.87
mainnet_e58758 - phase0 beforeProcessEpoch 139.40 ms/op 190.61 ms/op 0.73
mainnet_e58758 - phase0 processJustificationAndFinalization 17.274 us/op 25.227 us/op 0.68
mainnet_e58758 - phase0 processRewardsAndPenalties 63.127 ms/op 55.741 ms/op 1.13
mainnet_e58758 - phase0 processRegistryUpdates 9.3090 us/op 8.8410 us/op 1.05
mainnet_e58758 - phase0 processSlashings 516.00 ns/op 858.00 ns/op 0.60
mainnet_e58758 - phase0 processEth1DataReset 543.00 ns/op 1.3140 us/op 0.41
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.1105 ms/op 1.8522 ms/op 0.60
mainnet_e58758 - phase0 processSlashingsReset 3.5690 us/op 7.9200 us/op 0.45
mainnet_e58758 - phase0 processRandaoMixesReset 4.2960 us/op 10.164 us/op 0.42
mainnet_e58758 - phase0 processHistoricalRootsUpdate 668.00 ns/op 2.1230 us/op 0.31
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.1610 us/op 10.253 us/op 0.41
mainnet_e58758 - phase0 afterProcessEpoch 101.61 ms/op 106.03 ms/op 0.96
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.2653 ms/op 1.4867 ms/op 0.85
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.6576 ms/op 2.0344 ms/op 0.81
altair processInactivityUpdates - 250000 normalcase 28.205 ms/op 29.461 ms/op 0.96
altair processInactivityUpdates - 250000 worstcase 26.242 ms/op 29.324 ms/op 0.89
phase0 processRegistryUpdates - 250000 normalcase 7.6390 us/op 14.080 us/op 0.54
phase0 processRegistryUpdates - 250000 badcase_full_deposits 267.43 us/op 345.61 us/op 0.77
phase0 processRegistryUpdates - 250000 worstcase 0.5 125.05 ms/op 158.03 ms/op 0.79
altair processRewardsAndPenalties - 250000 normalcase 62.143 ms/op 74.260 ms/op 0.84
altair processRewardsAndPenalties - 250000 worstcase 64.989 ms/op 71.136 ms/op 0.91
phase0 getAttestationDeltas - 250000 normalcase 6.5769 ms/op 8.2559 ms/op 0.80
phase0 getAttestationDeltas - 250000 worstcase 6.6562 ms/op 7.8933 ms/op 0.84
phase0 processSlashings - 250000 worstcase 3.2749 ms/op 3.6884 ms/op 0.89
altair processSyncCommitteeUpdates - 250000 172.70 ms/op 191.89 ms/op 0.90
BeaconState.hashTreeRoot - No change 295.00 ns/op 382.00 ns/op 0.77
BeaconState.hashTreeRoot - 1 full validator 52.889 us/op 58.232 us/op 0.91
BeaconState.hashTreeRoot - 32 full validator 540.41 us/op 610.00 us/op 0.89
BeaconState.hashTreeRoot - 512 full validator 5.4660 ms/op 5.6213 ms/op 0.97
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 63.441 us/op 69.939 us/op 0.91
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 933.26 us/op 1.1075 ms/op 0.84
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 11.322 ms/op 12.544 ms/op 0.90
BeaconState.hashTreeRoot - 1 balances 48.874 us/op 48.389 us/op 1.01
BeaconState.hashTreeRoot - 32 balances 464.04 us/op 497.82 us/op 0.93
BeaconState.hashTreeRoot - 512 balances 4.4747 ms/op 4.7371 ms/op 0.94
BeaconState.hashTreeRoot - 250000 balances 74.006 ms/op 81.919 ms/op 0.90
aggregationBits - 2048 els - zipIndexesInBitList 16.166 us/op 20.367 us/op 0.79
regular array get 100000 times 33.163 us/op 36.302 us/op 0.91
wrappedArray get 100000 times 32.412 us/op 43.481 us/op 0.75
arrayWithProxy get 100000 times 15.463 ms/op 16.188 ms/op 0.96
ssz.Root.equals 543.00 ns/op 578.00 ns/op 0.94
byteArrayEquals 542.00 ns/op 562.00 ns/op 0.96
shuffle list - 16384 els 6.9187 ms/op 7.0897 ms/op 0.98
shuffle list - 250000 els 100.76 ms/op 105.66 ms/op 0.95
processSlot - 1 slots 8.6560 us/op 9.5480 us/op 0.91
processSlot - 32 slots 1.3488 ms/op 1.4706 ms/op 0.92
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 36.568 ms/op 38.977 ms/op 0.94
getCommitteeAssignments - req 1 vs - 250000 vc 2.9551 ms/op 3.0855 ms/op 0.96
getCommitteeAssignments - req 100 vs - 250000 vc 4.1787 ms/op 4.2915 ms/op 0.97
getCommitteeAssignments - req 1000 vs - 250000 vc 4.5536 ms/op 4.7103 ms/op 0.97
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.9100 ns/op 5.2000 ns/op 0.94
state getBlockRootAtSlot - 250000 vs - 7PWei 910.71 ns/op 762.23 ns/op 1.19
computeProposers - vc 250000 11.163 ms/op 12.200 ms/op 0.91
computeEpochShuffling - vc 250000 111.58 ms/op 108.35 ms/op 1.03
getNextSyncCommittee - vc 250000 184.37 ms/op 191.13 ms/op 0.96
computeSigningRoot for AttestationData 15.076 us/op 14.925 us/op 1.01
hash AttestationData serialized data then Buffer.toString(base64) 2.6092 us/op 2.6569 us/op 0.98
toHexString serialized data 1.2536 us/op 1.1984 us/op 1.05
Buffer.toString(base64) 361.72 ns/op 333.57 ns/op 1.08

by benchmarkbot/action

@g11tech g11tech merged commit 4ea12e3 into unstable Jun 12, 2023
@g11tech g11tech deleted the g11tech/v1.4.0-alpha.2 branch June 12, 2023 14:48
@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.

2 participants