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

fix: update SSE payload attributes to be spec compliant #6471

Merged
merged 1 commit into from
Feb 22, 2024

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Feb 22, 2024

Motivation

We have added SSE payload attributes in #5281 but the ssz type is not according to the spec as it should include the parent block number instead of proposal slot number.

apis/eventstream/index.yaml#L126

parent_block_number: the execution block number of the parent block.

Description

Updates SSEPayloadAttributes ssz type and sets block number based on latest execution payload header (from pre-state)

@nflaig nflaig added the meta-breaking-change Introduces breaking changes to DB, Validator, Beacon Node, or CLI interfaces. Handle with care! label Feb 22, 2024
@nflaig nflaig requested a review from a team as a code owner February 22, 2024 13:16
Copy link

codecov bot commented Feb 22, 2024

Codecov Report

Merging #6471 (e9a230c) into unstable (53f8f99) will decrease coverage by 0.01%.
The diff coverage is 100.00%.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #6471      +/-   ##
============================================
- Coverage     61.63%   61.63%   -0.01%     
============================================
  Files           553      553              
  Lines         57998    57998              
  Branches       1837     1836       -1     
============================================
- Hits          35749    35748       -1     
- Misses        22210    22211       +1     
  Partials         39       39              

Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 3d44e01 Previous: 53f8f99 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 658.10 us/op 688.59 us/op 0.96
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 91.713 us/op 115.21 us/op 0.80
BLS verify - blst-native 1.3422 ms/op 1.4655 ms/op 0.92
BLS verifyMultipleSignatures 3 - blst-native 2.7654 ms/op 3.1562 ms/op 0.88
BLS verifyMultipleSignatures 8 - blst-native 6.1830 ms/op 6.1628 ms/op 1.00
BLS verifyMultipleSignatures 32 - blst-native 22.636 ms/op 25.022 ms/op 0.90
BLS verifyMultipleSignatures 64 - blst-native 44.601 ms/op 47.853 ms/op 0.93
BLS verifyMultipleSignatures 128 - blst-native 88.018 ms/op 92.856 ms/op 0.95
BLS deserializing 10000 signatures 974.34 ms/op 1.0055 s/op 0.97
BLS deserializing 100000 signatures 9.4664 s/op 9.7152 s/op 0.97
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.5003 ms/op 1.4797 ms/op 1.01
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.6289 ms/op 1.7701 ms/op 0.92
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.5261 ms/op 2.6747 ms/op 0.94
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.7606 ms/op 4.1978 ms/op 0.90
BLS verifyMultipleSignatures - same message - 128 - blst-native 6.0851 ms/op 6.4479 ms/op 0.94
BLS aggregatePubkeys 32 - blst-native 27.913 us/op 30.295 us/op 0.92
BLS aggregatePubkeys 128 - blst-native 103.77 us/op 115.77 us/op 0.90
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 67.279 ms/op 69.609 ms/op 0.97
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 67.558 ms/op 68.238 ms/op 0.99
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 56.800 ms/op 54.899 ms/op 1.03
getSlashingsAndExits - default max 199.20 us/op 237.12 us/op 0.84
getSlashingsAndExits - 2k 491.75 us/op 927.37 us/op 0.53
proposeBlockBody type=full, size=empty 6.1233 ms/op 7.3259 ms/op 0.84
isKnown best case - 1 super set check 371.00 ns/op 743.00 ns/op 0.50
isKnown normal case - 2 super set checks 412.00 ns/op 916.00 ns/op 0.45
isKnown worse case - 16 super set checks 448.00 ns/op 837.00 ns/op 0.54
CheckpointStateCache - add get delete 6.0230 us/op 8.4690 us/op 0.71
validate api signedAggregateAndProof - struct 2.9694 ms/op 3.2351 ms/op 0.92
validate gossip signedAggregateAndProof - struct 3.0618 ms/op 3.1390 ms/op 0.98
validate gossip attestation - vc 640000 1.3964 ms/op 1.5341 ms/op 0.91
batch validate gossip attestation - vc 640000 - chunk 32 180.87 us/op 197.10 us/op 0.92
batch validate gossip attestation - vc 640000 - chunk 64 154.55 us/op 172.48 us/op 0.90
batch validate gossip attestation - vc 640000 - chunk 128 155.41 us/op 166.50 us/op 0.93
batch validate gossip attestation - vc 640000 - chunk 256 150.16 us/op 165.38 us/op 0.91
pickEth1Vote - no votes 1.4067 ms/op 1.5331 ms/op 0.92
pickEth1Vote - max votes 15.087 ms/op 16.000 ms/op 0.94
pickEth1Vote - Eth1Data hashTreeRoot value x2048 25.802 ms/op 26.465 ms/op 0.97
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 37.082 ms/op 55.562 ms/op 0.67
pickEth1Vote - Eth1Data fastSerialize value x2048 813.74 us/op 801.01 us/op 1.02
pickEth1Vote - Eth1Data fastSerialize tree x2048 8.0605 ms/op 5.4711 ms/op 1.47
bytes32 toHexString 875.00 ns/op 603.00 ns/op 1.45
bytes32 Buffer.toString(hex) 358.00 ns/op 370.00 ns/op 0.97
bytes32 Buffer.toString(hex) from Uint8Array 616.00 ns/op 537.00 ns/op 1.15
bytes32 Buffer.toString(hex) + 0x 330.00 ns/op 336.00 ns/op 0.98
Object access 1 prop 0.17000 ns/op 0.21600 ns/op 0.79
Map access 1 prop 0.16100 ns/op 0.17600 ns/op 0.91
Object get x1000 6.9530 ns/op 7.9890 ns/op 0.87
Map get x1000 0.80900 ns/op 0.93500 ns/op 0.87
Object set x1000 56.948 ns/op 81.651 ns/op 0.70
Map set x1000 48.166 ns/op 52.517 ns/op 0.92
Return object 10000 times 0.24890 ns/op 0.26130 ns/op 0.95
Throw Error 10000 times 4.0195 us/op 4.2046 us/op 0.96
fastMsgIdFn sha256 / 200 bytes 3.4610 us/op 3.5510 us/op 0.97
fastMsgIdFn h32 xxhash / 200 bytes 308.00 ns/op 355.00 ns/op 0.87
fastMsgIdFn h64 xxhash / 200 bytes 369.00 ns/op 420.00 ns/op 0.88
fastMsgIdFn sha256 / 1000 bytes 12.050 us/op 11.762 us/op 1.02
fastMsgIdFn h32 xxhash / 1000 bytes 521.00 ns/op 492.00 ns/op 1.06
fastMsgIdFn h64 xxhash / 1000 bytes 570.00 ns/op 480.00 ns/op 1.19
fastMsgIdFn sha256 / 10000 bytes 107.53 us/op 107.03 us/op 1.00
fastMsgIdFn h32 xxhash / 10000 bytes 2.0470 us/op 2.0180 us/op 1.01
fastMsgIdFn h64 xxhash / 10000 bytes 1.3620 us/op 1.4350 us/op 0.95
send data - 1000 256B messages 18.275 ms/op 22.933 ms/op 0.80
send data - 1000 512B messages 29.505 ms/op 35.104 ms/op 0.84
send data - 1000 1024B messages 42.808 ms/op 48.159 ms/op 0.89
send data - 1000 1200B messages 39.907 ms/op 42.243 ms/op 0.94
send data - 1000 2048B messages 54.024 ms/op 60.770 ms/op 0.89
send data - 1000 4096B messages 46.706 ms/op 55.088 ms/op 0.85
send data - 1000 16384B messages 129.68 ms/op 153.21 ms/op 0.85
send data - 1000 65536B messages 551.20 ms/op 555.06 ms/op 0.99
enrSubnets - fastDeserialize 64 bits 1.8470 us/op 1.6470 us/op 1.12
enrSubnets - ssz BitVector 64 bits 655.00 ns/op 604.00 ns/op 1.08
enrSubnets - fastDeserialize 4 bits 331.00 ns/op 274.00 ns/op 1.21
enrSubnets - ssz BitVector 4 bits 683.00 ns/op 634.00 ns/op 1.08
prioritizePeers score -10:0 att 32-0.1 sync 2-0 142.06 us/op 147.20 us/op 0.97
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 201.51 us/op 173.07 us/op 1.16
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 233.11 us/op 221.93 us/op 1.05
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 385.72 us/op 420.19 us/op 0.92
prioritizePeers score 0:0 att 64-1 sync 4-1 413.32 us/op 455.49 us/op 0.91
array of 16000 items push then shift 1.8303 us/op 1.9032 us/op 0.96
LinkedList of 16000 items push then shift 10.322 ns/op 12.769 ns/op 0.81
array of 16000 items push then pop 126.34 ns/op 145.34 ns/op 0.87
LinkedList of 16000 items push then pop 10.750 ns/op 11.438 ns/op 0.94
array of 24000 items push then shift 2.6566 us/op 2.8314 us/op 0.94
LinkedList of 24000 items push then shift 10.451 ns/op 10.792 ns/op 0.97
array of 24000 items push then pop 158.18 ns/op 188.29 ns/op 0.84
LinkedList of 24000 items push then pop 9.8640 ns/op 10.130 ns/op 0.97
intersect bitArray bitLen 8 6.6820 ns/op 6.6060 ns/op 1.01
intersect array and set length 8 104.75 ns/op 93.199 ns/op 1.12
intersect bitArray bitLen 128 41.256 ns/op 40.360 ns/op 1.02
intersect array and set length 128 1.0399 us/op 1.2468 us/op 0.83
bitArray.getTrueBitIndexes() bitLen 128 1.9160 us/op 2.1610 us/op 0.89
bitArray.getTrueBitIndexes() bitLen 248 3.2680 us/op 3.6880 us/op 0.89
bitArray.getTrueBitIndexes() bitLen 512 7.6070 us/op 7.8090 us/op 0.97
Buffer.concat 32 items 1.2410 us/op 1.1590 us/op 1.07
Uint8Array.set 32 items 2.2800 us/op 2.0250 us/op 1.13
Set add up to 64 items then delete first 5.3026 us/op 5.8289 us/op 0.91
OrderedSet add up to 64 items then delete first 7.0271 us/op 7.7910 us/op 0.90
Set add up to 64 items then delete last 5.7833 us/op 6.1213 us/op 0.94
OrderedSet add up to 64 items then delete last 7.3494 us/op 7.9404 us/op 0.93
Set add up to 64 items then delete middle 5.5122 us/op 6.2409 us/op 0.88
OrderedSet add up to 64 items then delete middle 9.0966 us/op 9.8269 us/op 0.93
Set add up to 128 items then delete first 11.494 us/op 12.325 us/op 0.93
OrderedSet add up to 128 items then delete first 16.584 us/op 16.295 us/op 1.02
Set add up to 128 items then delete last 11.666 us/op 11.701 us/op 1.00
OrderedSet add up to 128 items then delete last 16.315 us/op 15.429 us/op 1.06
Set add up to 128 items then delete middle 12.335 us/op 11.463 us/op 1.08
OrderedSet add up to 128 items then delete middle 22.038 us/op 21.927 us/op 1.01
Set add up to 256 items then delete first 23.274 us/op 24.800 us/op 0.94
OrderedSet add up to 256 items then delete first 33.502 us/op 33.589 us/op 1.00
Set add up to 256 items then delete last 22.542 us/op 24.877 us/op 0.91
OrderedSet add up to 256 items then delete last 30.284 us/op 33.465 us/op 0.90
Set add up to 256 items then delete middle 21.538 us/op 25.161 us/op 0.86
OrderedSet add up to 256 items then delete middle 54.251 us/op 57.909 us/op 0.94
transfer serialized Status (84 B) 1.9900 us/op 2.2050 us/op 0.90
copy serialized Status (84 B) 1.5370 us/op 1.6960 us/op 0.91
transfer serialized SignedVoluntaryExit (112 B) 2.1190 us/op 2.1140 us/op 1.00
copy serialized SignedVoluntaryExit (112 B) 1.6670 us/op 1.5910 us/op 1.05
transfer serialized ProposerSlashing (416 B) 2.7580 us/op 3.2190 us/op 0.86
copy serialized ProposerSlashing (416 B) 2.9040 us/op 2.5480 us/op 1.14
transfer serialized Attestation (485 B) 3.2820 us/op 2.6520 us/op 1.24
copy serialized Attestation (485 B) 3.4670 us/op 3.4990 us/op 0.99
transfer serialized AttesterSlashing (33232 B) 3.0480 us/op 3.4930 us/op 0.87
copy serialized AttesterSlashing (33232 B) 11.944 us/op 10.220 us/op 1.17
transfer serialized Small SignedBeaconBlock (128000 B) 3.7030 us/op 3.5360 us/op 1.05
copy serialized Small SignedBeaconBlock (128000 B) 40.551 us/op 31.452 us/op 1.29
transfer serialized Avg SignedBeaconBlock (200000 B) 4.7370 us/op 4.1330 us/op 1.15
copy serialized Avg SignedBeaconBlock (200000 B) 51.517 us/op 42.764 us/op 1.20
transfer serialized BlobsSidecar (524380 B) 4.7130 us/op 4.1760 us/op 1.13
copy serialized BlobsSidecar (524380 B) 168.15 us/op 131.97 us/op 1.27
transfer serialized Big SignedBeaconBlock (1000000 B) 8.1680 us/op 5.9850 us/op 1.36
copy serialized Big SignedBeaconBlock (1000000 B) 365.92 us/op 261.24 us/op 1.40
pass gossip attestations to forkchoice per slot 6.2854 ms/op 4.4491 ms/op 1.41
forkChoice updateHead vc 100000 bc 64 eq 0 1.0332 ms/op 785.00 us/op 1.32
forkChoice updateHead vc 600000 bc 64 eq 0 6.5336 ms/op 4.8686 ms/op 1.34
forkChoice updateHead vc 1000000 bc 64 eq 0 9.8506 ms/op 9.2844 ms/op 1.06
forkChoice updateHead vc 600000 bc 320 eq 0 5.3422 ms/op 5.1787 ms/op 1.03
forkChoice updateHead vc 600000 bc 1200 eq 0 5.3018 ms/op 5.7253 ms/op 0.93
forkChoice updateHead vc 600000 bc 7200 eq 0 6.1327 ms/op 6.6276 ms/op 0.93
forkChoice updateHead vc 600000 bc 64 eq 1000 12.630 ms/op 13.289 ms/op 0.95
forkChoice updateHead vc 600000 bc 64 eq 10000 14.012 ms/op 15.870 ms/op 0.88
forkChoice updateHead vc 600000 bc 64 eq 300000 32.832 ms/op 40.851 ms/op 0.80
computeDeltas 500000 validators 300 proto nodes 7.3891 ms/op 7.3342 ms/op 1.01
computeDeltas 500000 validators 1200 proto nodes 7.2643 ms/op 7.6225 ms/op 0.95
computeDeltas 500000 validators 7200 proto nodes 7.1970 ms/op 7.0726 ms/op 1.02
computeDeltas 750000 validators 300 proto nodes 10.703 ms/op 10.470 ms/op 1.02
computeDeltas 750000 validators 1200 proto nodes 10.969 ms/op 10.821 ms/op 1.01
computeDeltas 750000 validators 7200 proto nodes 11.037 ms/op 11.397 ms/op 0.97
computeDeltas 1400000 validators 300 proto nodes 21.622 ms/op 21.476 ms/op 1.01
computeDeltas 1400000 validators 1200 proto nodes 20.408 ms/op 21.532 ms/op 0.95
computeDeltas 1400000 validators 7200 proto nodes 20.313 ms/op 22.233 ms/op 0.91
computeDeltas 2100000 validators 300 proto nodes 32.544 ms/op 33.216 ms/op 0.98
computeDeltas 2100000 validators 1200 proto nodes 30.145 ms/op 34.139 ms/op 0.88
computeDeltas 2100000 validators 7200 proto nodes 30.723 ms/op 33.194 ms/op 0.93
altair processAttestation - 250000 vs - 7PWei normalcase 2.1865 ms/op 3.7464 ms/op 0.58
altair processAttestation - 250000 vs - 7PWei worstcase 3.1967 ms/op 5.3926 ms/op 0.59
altair processAttestation - setStatus - 1/6 committees join 161.60 us/op 204.79 us/op 0.79
altair processAttestation - setStatus - 1/3 committees join 305.40 us/op 397.84 us/op 0.77
altair processAttestation - setStatus - 1/2 committees join 427.91 us/op 493.57 us/op 0.87
altair processAttestation - setStatus - 2/3 committees join 509.11 us/op 611.89 us/op 0.83
altair processAttestation - setStatus - 4/5 committees join 719.95 us/op 879.12 us/op 0.82
altair processAttestation - setStatus - 100% committees join 870.15 us/op 1.1404 ms/op 0.76
altair processBlock - 250000 vs - 7PWei normalcase 10.210 ms/op 13.362 ms/op 0.76
altair processBlock - 250000 vs - 7PWei normalcase hashState 35.867 ms/op 49.896 ms/op 0.72
altair processBlock - 250000 vs - 7PWei worstcase 41.198 ms/op 53.837 ms/op 0.77
altair processBlock - 250000 vs - 7PWei worstcase hashState 94.528 ms/op 112.75 ms/op 0.84
phase0 processBlock - 250000 vs - 7PWei normalcase 2.9751 ms/op 3.8228 ms/op 0.78
phase0 processBlock - 250000 vs - 7PWei worstcase 30.580 ms/op 40.072 ms/op 0.76
altair processEth1Data - 250000 vs - 7PWei normalcase 700.85 us/op 1.1017 ms/op 0.64
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 20.755 us/op 23.996 us/op 0.86
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 74.552 us/op 88.486 us/op 0.84
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 36.286 us/op 43.046 us/op 0.84
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 19.262 us/op 30.935 us/op 0.62
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 212.43 us/op 271.08 us/op 0.78
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.7024 ms/op 2.2769 ms/op 0.75
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.4787 ms/op 3.3185 ms/op 0.75
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.3102 ms/op 2.4594 ms/op 0.94
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.5015 ms/op 6.0820 ms/op 0.74
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 3.2011 ms/op 3.7066 ms/op 0.86
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 7.2029 ms/op 10.810 ms/op 0.67
Tree 40 250000 create 507.91 ms/op 800.78 ms/op 0.63
Tree 40 250000 get(125000) 217.31 ns/op 249.67 ns/op 0.87
Tree 40 250000 set(125000) 1.1497 us/op 2.5852 us/op 0.44
Tree 40 250000 toArray() 24.092 ms/op 30.349 ms/op 0.79
Tree 40 250000 iterate all - toArray() + loop 23.405 ms/op 28.616 ms/op 0.82
Tree 40 250000 iterate all - get(i) 79.927 ms/op 87.675 ms/op 0.91
MutableVector 250000 create 19.891 ms/op 21.133 ms/op 0.94
MutableVector 250000 get(125000) 7.2300 ns/op 7.3370 ns/op 0.99
MutableVector 250000 set(125000) 524.81 ns/op 675.30 ns/op 0.78
MutableVector 250000 toArray() 4.2978 ms/op 5.0373 ms/op 0.85
MutableVector 250000 iterate all - toArray() + loop 4.4227 ms/op 5.0474 ms/op 0.88
MutableVector 250000 iterate all - get(i) 1.6311 ms/op 1.8627 ms/op 0.88
Array 250000 create 3.7548 ms/op 4.5063 ms/op 0.83
Array 250000 clone - spread 1.4893 ms/op 1.8837 ms/op 0.79
Array 250000 get(125000) 1.6590 ns/op 2.0770 ns/op 0.80
Array 250000 set(125000) 5.7930 ns/op 6.1580 ns/op 0.94
Array 250000 iterate all - loop 187.24 us/op 194.09 us/op 0.96
effectiveBalanceIncrements clone Uint8Array 300000 54.440 us/op 62.515 us/op 0.87
effectiveBalanceIncrements clone MutableVector 300000 479.00 ns/op 574.00 ns/op 0.83
effectiveBalanceIncrements rw all Uint8Array 300000 213.06 us/op 223.79 us/op 0.95
effectiveBalanceIncrements rw all MutableVector 300000 121.06 ms/op 156.02 ms/op 0.78
phase0 afterProcessEpoch - 250000 vs - 7PWei 126.57 ms/op 134.89 ms/op 0.94
phase0 beforeProcessEpoch - 250000 vs - 7PWei 50.208 ms/op 64.225 ms/op 0.78
altair processEpoch - mainnet_e81889 652.09 ms/op 587.72 ms/op 1.11
mainnet_e81889 - altair beforeProcessEpoch 95.559 ms/op 96.075 ms/op 0.99
mainnet_e81889 - altair processJustificationAndFinalization 31.463 us/op 15.791 us/op 1.99
mainnet_e81889 - altair processInactivityUpdates 7.6749 ms/op 7.4364 ms/op 1.03
mainnet_e81889 - altair processRewardsAndPenalties 75.612 ms/op 67.156 ms/op 1.13
mainnet_e81889 - altair processRegistryUpdates 5.4900 us/op 3.2860 us/op 1.67
mainnet_e81889 - altair processSlashings 722.00 ns/op 429.00 ns/op 1.68
mainnet_e81889 - altair processEth1DataReset 1.2060 us/op 1.1180 us/op 1.08
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.9151 ms/op 1.8424 ms/op 1.04
mainnet_e81889 - altair processSlashingsReset 4.9850 us/op 5.1250 us/op 0.97
mainnet_e81889 - altair processRandaoMixesReset 7.1730 us/op 7.2520 us/op 0.99
mainnet_e81889 - altair processHistoricalRootsUpdate 1.1240 us/op 1.1180 us/op 1.01
mainnet_e81889 - altair processParticipationFlagUpdates 3.6350 us/op 2.2290 us/op 1.63
mainnet_e81889 - altair processSyncCommitteeUpdates 1.3780 us/op 675.00 ns/op 2.04
mainnet_e81889 - altair afterProcessEpoch 139.69 ms/op 127.83 ms/op 1.09
capella processEpoch - mainnet_e217614 3.2780 s/op 2.2671 s/op 1.45
mainnet_e217614 - capella beforeProcessEpoch 701.61 ms/op 466.14 ms/op 1.51
mainnet_e217614 - capella processJustificationAndFinalization 22.045 us/op 14.404 us/op 1.53
mainnet_e217614 - capella processInactivityUpdates 20.551 ms/op 19.486 ms/op 1.05
mainnet_e217614 - capella processRewardsAndPenalties 469.98 ms/op 401.61 ms/op 1.17
mainnet_e217614 - capella processRegistryUpdates 31.188 us/op 20.000 us/op 1.56
mainnet_e217614 - capella processSlashings 1.0270 us/op 594.00 ns/op 1.73
mainnet_e217614 - capella processEth1DataReset 927.00 ns/op 416.00 ns/op 2.23
mainnet_e217614 - capella processEffectiveBalanceUpdates 15.228 ms/op 4.4598 ms/op 3.41
mainnet_e217614 - capella processSlashingsReset 5.2380 us/op 3.5340 us/op 1.48
mainnet_e217614 - capella processRandaoMixesReset 6.4710 us/op 3.7500 us/op 1.73
mainnet_e217614 - capella processHistoricalRootsUpdate 1.3410 us/op 572.00 ns/op 2.34
mainnet_e217614 - capella processParticipationFlagUpdates 2.3760 us/op 1.6030 us/op 1.48
mainnet_e217614 - capella afterProcessEpoch 383.20 ms/op 333.19 ms/op 1.15
phase0 processEpoch - mainnet_e58758 562.55 ms/op 480.43 ms/op 1.17
mainnet_e58758 - phase0 beforeProcessEpoch 186.74 ms/op 147.61 ms/op 1.27
mainnet_e58758 - phase0 processJustificationAndFinalization 29.545 us/op 15.797 us/op 1.87
mainnet_e58758 - phase0 processRewardsAndPenalties 63.707 ms/op 55.519 ms/op 1.15
mainnet_e58758 - phase0 processRegistryUpdates 15.373 us/op 9.9400 us/op 1.55
mainnet_e58758 - phase0 processSlashings 731.00 ns/op 601.00 ns/op 1.22
mainnet_e58758 - phase0 processEth1DataReset 528.00 ns/op 489.00 ns/op 1.08
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 2.2739 ms/op 1.1637 ms/op 1.95
mainnet_e58758 - phase0 processSlashingsReset 3.4820 us/op 2.6810 us/op 1.30
mainnet_e58758 - phase0 processRandaoMixesReset 5.6520 us/op 4.0220 us/op 1.41
mainnet_e58758 - phase0 processHistoricalRootsUpdate 867.00 ns/op 658.00 ns/op 1.32
mainnet_e58758 - phase0 processParticipationRecordUpdates 5.0190 us/op 3.6420 us/op 1.38
mainnet_e58758 - phase0 afterProcessEpoch 101.30 ms/op 104.31 ms/op 0.97
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.4428 ms/op 1.4450 ms/op 1.00
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.0593 ms/op 1.8016 ms/op 1.14
altair processInactivityUpdates - 250000 normalcase 26.172 ms/op 34.428 ms/op 0.76
altair processInactivityUpdates - 250000 worstcase 29.794 ms/op 32.515 ms/op 0.92
phase0 processRegistryUpdates - 250000 normalcase 12.713 us/op 9.1250 us/op 1.39
phase0 processRegistryUpdates - 250000 badcase_full_deposits 587.29 us/op 443.12 us/op 1.33
phase0 processRegistryUpdates - 250000 worstcase 0.5 159.23 ms/op 147.50 ms/op 1.08
altair processRewardsAndPenalties - 250000 normalcase 64.871 ms/op 68.467 ms/op 0.95
altair processRewardsAndPenalties - 250000 worstcase 64.486 ms/op 64.356 ms/op 1.00
phase0 getAttestationDeltas - 250000 normalcase 9.9377 ms/op 10.622 ms/op 0.94
phase0 getAttestationDeltas - 250000 worstcase 10.842 ms/op 9.4588 ms/op 1.15
phase0 processSlashings - 250000 worstcase 123.25 us/op 95.085 us/op 1.30
altair processSyncCommitteeUpdates - 250000 179.23 ms/op 167.53 ms/op 1.07
BeaconState.hashTreeRoot - No change 773.00 ns/op 392.00 ns/op 1.97
BeaconState.hashTreeRoot - 1 full validator 184.76 us/op 130.47 us/op 1.42
BeaconState.hashTreeRoot - 32 full validator 1.6932 ms/op 1.8883 ms/op 0.90
BeaconState.hashTreeRoot - 512 full validator 18.281 ms/op 21.241 ms/op 0.86
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 187.84 us/op 211.39 us/op 0.89
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.5667 ms/op 2.9063 ms/op 0.88
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 32.022 ms/op 36.968 ms/op 0.87
BeaconState.hashTreeRoot - 1 balances 127.07 us/op 168.47 us/op 0.75
BeaconState.hashTreeRoot - 32 balances 1.7090 ms/op 1.7335 ms/op 0.99
BeaconState.hashTreeRoot - 512 balances 12.971 ms/op 16.361 ms/op 0.79
BeaconState.hashTreeRoot - 250000 balances 237.88 ms/op 238.57 ms/op 1.00
aggregationBits - 2048 els - zipIndexesInBitList 33.355 us/op 23.156 us/op 1.44
byteArrayEquals 32 86.001 ns/op 75.970 ns/op 1.13
Buffer.compare 32 60.025 ns/op 58.022 ns/op 1.03
byteArrayEquals 1024 2.3130 us/op 2.1076 us/op 1.10
Buffer.compare 1024 79.354 ns/op 73.351 ns/op 1.08
byteArrayEquals 16384 36.437 us/op 33.478 us/op 1.09
Buffer.compare 16384 294.61 ns/op 280.66 ns/op 1.05
byteArrayEquals 123687377 263.12 ms/op 260.76 ms/op 1.01
Buffer.compare 123687377 7.5571 ms/op 7.8148 ms/op 0.97
byteArrayEquals 32 - diff last byte 75.558 ns/op 75.579 ns/op 1.00
Buffer.compare 32 - diff last byte 61.319 ns/op 58.565 ns/op 1.05
byteArrayEquals 1024 - diff last byte 2.1923 us/op 2.0856 us/op 1.05
Buffer.compare 1024 - diff last byte 79.472 ns/op 75.657 ns/op 1.05
byteArrayEquals 16384 - diff last byte 36.005 us/op 33.998 us/op 1.06
Buffer.compare 16384 - diff last byte 268.46 ns/op 254.61 ns/op 1.05
byteArrayEquals 123687377 - diff last byte 287.36 ms/op 258.94 ms/op 1.11
Buffer.compare 123687377 - diff last byte 16.125 ms/op 8.4061 ms/op 1.92
byteArrayEquals 32 - random bytes 11.326 ns/op 5.6000 ns/op 2.02
Buffer.compare 32 - random bytes 107.67 ns/op 62.271 ns/op 1.73
byteArrayEquals 1024 - random bytes 8.0780 ns/op 5.9520 ns/op 1.36
Buffer.compare 1024 - random bytes 73.538 ns/op 66.204 ns/op 1.11
byteArrayEquals 16384 - random bytes 7.7780 ns/op 5.6230 ns/op 1.38
Buffer.compare 16384 - random bytes 74.228 ns/op 69.117 ns/op 1.07
byteArrayEquals 123687377 - random bytes 24.680 ns/op 9.0600 ns/op 2.72
Buffer.compare 123687377 - random bytes 88.960 ns/op 78.300 ns/op 1.14
regular array get 100000 times 52.493 us/op 48.015 us/op 1.09
wrappedArray get 100000 times 55.803 us/op 49.640 us/op 1.12
arrayWithProxy get 100000 times 17.317 ms/op 14.509 ms/op 1.19
ssz.Root.equals 63.310 ns/op 57.853 ns/op 1.09
byteArrayEquals 63.140 ns/op 58.140 ns/op 1.09
Buffer.compare 17.060 ns/op 11.569 ns/op 1.47
shuffle list - 16384 els 8.6661 ms/op 7.1868 ms/op 1.21
shuffle list - 250000 els 127.92 ms/op 106.34 ms/op 1.20
processSlot - 1 slots 23.947 us/op 16.854 us/op 1.42
processSlot - 32 slots 5.9736 ms/op 3.3946 ms/op 1.76
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 77.830 ms/op 60.381 ms/op 1.29
getCommitteeAssignments - req 1 vs - 250000 vc 2.9278 ms/op 2.6825 ms/op 1.09
getCommitteeAssignments - req 100 vs - 250000 vc 4.2655 ms/op 3.8977 ms/op 1.09
getCommitteeAssignments - req 1000 vs - 250000 vc 5.0649 ms/op 4.3067 ms/op 1.18
findModifiedValidators - 10000 modified validators 635.37 ms/op 576.50 ms/op 1.10
findModifiedValidators - 1000 modified validators 542.73 ms/op 464.94 ms/op 1.17
findModifiedValidators - 100 modified validators 523.30 ms/op 469.87 ms/op 1.11
findModifiedValidators - 10 modified validators 523.98 ms/op 498.14 ms/op 1.05
findModifiedValidators - 1 modified validators 502.41 ms/op 444.46 ms/op 1.13
findModifiedValidators - no difference 490.02 ms/op 471.36 ms/op 1.04
compare ViewDUs 5.3054 s/op 5.4867 s/op 0.97
compare each validator Uint8Array 2.1510 s/op 2.2965 s/op 0.94
compare ViewDU to Uint8Array 1.4768 s/op 1.5671 s/op 0.94
migrate state 1000000 validators, 24 modified, 0 new 940.39 ms/op 930.89 ms/op 1.01
migrate state 1000000 validators, 1700 modified, 1000 new 1.2448 s/op 1.1415 s/op 1.09
migrate state 1000000 validators, 3400 modified, 2000 new 1.4874 s/op 1.4727 s/op 1.01
migrate state 1500000 validators, 24 modified, 0 new 895.96 ms/op 949.26 ms/op 0.94
migrate state 1500000 validators, 1700 modified, 1000 new 1.1668 s/op 1.4166 s/op 0.82
migrate state 1500000 validators, 3400 modified, 2000 new 1.5460 s/op 1.7594 s/op 0.88
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 6.4900 ns/op 5.6100 ns/op 1.16
state getBlockRootAtSlot - 250000 vs - 7PWei 763.00 ns/op 785.74 ns/op 0.97
computeProposers - vc 250000 11.396 ms/op 13.419 ms/op 0.85
computeEpochShuffling - vc 250000 120.69 ms/op 137.72 ms/op 0.88
getNextSyncCommittee - vc 250000 178.36 ms/op 182.59 ms/op 0.98
computeSigningRoot for AttestationData 34.597 us/op 35.831 us/op 0.97
hash AttestationData serialized data then Buffer.toString(base64) 2.6652 us/op 2.7717 us/op 0.96
toHexString serialized data 1.6185 us/op 1.3643 us/op 1.19
Buffer.toString(base64) 290.54 ns/op 292.11 ns/op 0.99

by benchmarkbot/action

Copy link
Contributor

@g11tech g11tech 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 eeaa7da into unstable Feb 22, 2024
19 of 21 checks passed
@g11tech g11tech deleted the nflaig/fix-sse-payload-attributes branch February 22, 2024 14:12
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.17.0 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
meta-breaking-change Introduces breaking changes to DB, Validator, Beacon Node, or CLI interfaces. Handle with care!
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants