Skip to content

feat: pass only signed bid to processExecutionPayloadBid - #9530

Merged
nflaig merged 4 commits into
nflaig/alpha.11from
nflaig/process-execution-payload-bid-signed-bid
Jun 21, 2026
Merged

feat: pass only signed bid to processExecutionPayloadBid#9530
nflaig merged 4 commits into
nflaig/alpha.11from
nflaig/process-execution-payload-bid-signed-bid

Conversation

@nflaig

@nflaig nflaig commented Jun 19, 2026

Copy link
Copy Markdown
Member

@nflaig
nflaig requested a review from a team as a code owner June 19, 2026 17:23

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request refactors processExecutionPayloadBid to accept a SignedExecutionPayloadBid directly instead of the entire BeaconBlock. This decouples the execution payload bid processing from the block structure, updating slot and parent block root validations to rely on the state instead of the block. Corresponding updates have been made to the block processing logic and test runners. I have no feedback to provide.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ba97ac2176

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/beacon-node/test/spec/presets/operations.test.ts
@github-actions

github-actions Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 812bac1 Previous: ec43878 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 844.43 us/op 1.1251 ms/op 0.75
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 37.123 us/op 38.009 us/op 0.98
BLS verify - blst 703.58 us/op 714.64 us/op 0.98
BLS verifyMultipleSignatures 3 - blst 1.2646 ms/op 1.2957 ms/op 0.98
BLS verifyMultipleSignatures 8 - blst 2.0161 ms/op 2.0482 ms/op 0.98
BLS verifyMultipleSignatures 32 - blst 6.2611 ms/op 6.5241 ms/op 0.96
BLS verifyMultipleSignatures 64 - blst 12.245 ms/op 12.536 ms/op 0.98
BLS verifyMultipleSignatures 128 - blst 23.938 ms/op 24.274 ms/op 0.99
BLS deserializing 10000 signatures 602.10 ms/op 615.04 ms/op 0.98
BLS deserializing 100000 signatures 6.0435 s/op 6.2313 s/op 0.97
BLS verifyMultipleSignatures - same message - 3 - blst 741.18 us/op 760.44 us/op 0.97
BLS verifyMultipleSignatures - same message - 8 - blst 856.11 us/op 797.14 us/op 1.07
BLS verifyMultipleSignatures - same message - 32 - blst 1.4993 ms/op 1.4308 ms/op 1.05
BLS verifyMultipleSignatures - same message - 64 - blst 2.3212 ms/op 2.2266 ms/op 1.04
BLS verifyMultipleSignatures - same message - 128 - blst 3.8948 ms/op 3.8332 ms/op 1.02
BLS aggregatePubkeys 32 - blst 16.846 us/op 16.857 us/op 1.00
BLS aggregatePubkeys 128 - blst 60.098 us/op 60.604 us/op 0.99
getSlashingsAndExits - default max 42.220 us/op 52.937 us/op 0.80
getSlashingsAndExits - 2k 330.18 us/op 401.99 us/op 0.82
proposeBlockBody type=full, size=empty 659.32 us/op 1.0577 ms/op 0.62
isKnown best case - 1 super set check 167.00 ns/op 183.00 ns/op 0.91
isKnown normal case - 2 super set checks 162.00 ns/op 168.00 ns/op 0.96
isKnown worse case - 16 super set checks 156.00 ns/op 168.00 ns/op 0.93
validate api signedAggregateAndProof - struct 1.4129 ms/op 1.4416 ms/op 0.98
validate gossip signedAggregateAndProof - struct 1.4098 ms/op 1.4320 ms/op 0.98
batch validate gossip attestation - vc 640000 - chunk 32 101.95 us/op 103.01 us/op 0.99
batch validate gossip attestation - vc 640000 - chunk 64 90.094 us/op 90.582 us/op 0.99
batch validate gossip attestation - vc 640000 - chunk 128 82.825 us/op 86.425 us/op 0.96
batch validate gossip attestation - vc 640000 - chunk 256 79.477 us/op 82.045 us/op 0.97
bytes32 toHexString 269.00 ns/op 268.00 ns/op 1.00
bytes32 Buffer.toString(hex) 152.00 ns/op 154.00 ns/op 0.99
bytes32 Buffer.toString(hex) from Uint8Array 203.00 ns/op 219.00 ns/op 0.93
bytes32 Buffer.toString(hex) + 0x 150.00 ns/op 157.00 ns/op 0.96
Return object 10000 times 0.20270 ns/op 0.20650 ns/op 0.98
Throw Error 10000 times 3.0693 us/op 3.1878 us/op 0.96
toHex 82.861 ns/op 85.223 ns/op 0.97
Buffer.from 74.709 ns/op 77.166 ns/op 0.97
shared Buffer 48.728 ns/op 50.175 ns/op 0.97
fastMsgIdFn sha256 / 200 bytes 1.3660 us/op 1.4160 us/op 0.96
fastMsgIdFn h32 xxhash / 200 bytes 147.00 ns/op 155.00 ns/op 0.95
fastMsgIdFn h64 xxhash / 200 bytes 192.00 ns/op 196.00 ns/op 0.98
fastMsgIdFn sha256 / 1000 bytes 4.4690 us/op 4.5440 us/op 0.98
fastMsgIdFn h32 xxhash / 1000 bytes 232.00 ns/op 239.00 ns/op 0.97
fastMsgIdFn h64 xxhash / 1000 bytes 234.00 ns/op 243.00 ns/op 0.96
fastMsgIdFn sha256 / 10000 bytes 39.391 us/op 40.260 us/op 0.98
fastMsgIdFn h32 xxhash / 10000 bytes 1.2090 us/op 1.2430 us/op 0.97
fastMsgIdFn h64 xxhash / 10000 bytes 775.00 ns/op 801.00 ns/op 0.97
send data - 1000 256B messages 3.9110 ms/op 4.1869 ms/op 0.93
send data - 1000 512B messages 5.0123 ms/op 5.1000 ms/op 0.98
send data - 1000 1024B messages 4.9875 ms/op 5.3450 ms/op 0.93
send data - 1000 1200B messages 6.0176 ms/op 5.8489 ms/op 1.03
send data - 1000 2048B messages 14.355 ms/op 13.336 ms/op 1.08
send data - 1000 4096B messages 29.043 ms/op 62.123 ms/op 0.47
send data - 1000 16384B messages 176.04 ms/op 262.19 ms/op 0.67
send data - 1000 65536B messages 653.03 ms/op 981.41 ms/op 0.67
enrSubnets - fastDeserialize 64 bits 735.00 ns/op 725.00 ns/op 1.01
enrSubnets - ssz BitVector 64 bits 246.00 ns/op 263.00 ns/op 0.94
enrSubnets - fastDeserialize 4 bits 96.000 ns/op 98.000 ns/op 0.98
enrSubnets - ssz BitVector 4 bits 245.00 ns/op 271.00 ns/op 0.90
prioritizePeers score -10:0 att 32-0.1 sync 2-0 192.67 us/op 199.26 us/op 0.97
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 218.60 us/op 241.86 us/op 0.90
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 316.69 us/op 339.23 us/op 0.93
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 564.24 us/op 585.72 us/op 0.96
prioritizePeers score 0:0 att 64-1 sync 4-1 659.37 us/op 702.01 us/op 0.94
array of 16000 items push then shift 1.1850 us/op 1.2514 us/op 0.95
LinkedList of 16000 items push then shift 7.0370 ns/op 7.4490 ns/op 0.94
array of 16000 items push then pop 61.867 ns/op 66.852 ns/op 0.93
LinkedList of 16000 items push then pop 5.6910 ns/op 5.8890 ns/op 0.97
array of 24000 items push then shift 1.7451 us/op 1.8326 us/op 0.95
LinkedList of 24000 items push then shift 6.6620 ns/op 6.9370 ns/op 0.96
array of 24000 items push then pop 87.225 ns/op 92.712 ns/op 0.94
LinkedList of 24000 items push then pop 5.6880 ns/op 5.9340 ns/op 0.96
intersect bitArray bitLen 8 4.5140 ns/op 4.7100 ns/op 0.96
intersect array and set length 8 27.646 ns/op 28.811 ns/op 0.96
intersect bitArray bitLen 128 22.797 ns/op 23.378 ns/op 0.98
intersect array and set length 128 470.14 ns/op 481.33 ns/op 0.98
bitArray.getTrueBitIndexes() bitLen 128 913.00 ns/op 1.0190 us/op 0.90
bitArray.getTrueBitIndexes() bitLen 248 1.6460 us/op 1.7700 us/op 0.93
bitArray.getTrueBitIndexes() bitLen 512 3.3750 us/op 3.5520 us/op 0.95
Full columns - reconstruct all 6 blobs 229.52 us/op 164.54 us/op 1.39
Full columns - reconstruct half of the blobs out of 6 64.273 us/op 83.044 us/op 0.77
Full columns - reconstruct single blob out of 6 51.275 us/op 30.963 us/op 1.66
Half columns - reconstruct all 6 blobs 363.95 ms/op 372.37 ms/op 0.98
Half columns - reconstruct half of the blobs out of 6 182.98 ms/op 189.65 ms/op 0.96
Half columns - reconstruct single blob out of 6 65.109 ms/op 67.556 ms/op 0.96
Full columns - reconstruct all 10 blobs 233.85 us/op 282.88 us/op 0.83
Full columns - reconstruct half of the blobs out of 10 137.50 us/op 106.31 us/op 1.29
Full columns - reconstruct single blob out of 10 48.770 us/op 88.580 us/op 0.55
Half columns - reconstruct all 10 blobs 603.28 ms/op 639.69 ms/op 0.94
Half columns - reconstruct half of the blobs out of 10 305.00 ms/op 316.52 ms/op 0.96
Half columns - reconstruct single blob out of 10 64.747 ms/op 68.420 ms/op 0.95
Full columns - reconstruct all 20 blobs 732.40 us/op 522.50 us/op 1.40
Full columns - reconstruct half of the blobs out of 20 165.92 us/op 179.68 us/op 0.92
Full columns - reconstruct single blob out of 20 29.126 us/op 35.722 us/op 0.82
Half columns - reconstruct all 20 blobs 1.2000 s/op 1.2399 s/op 0.97
Half columns - reconstruct half of the blobs out of 20 601.53 ms/op 619.90 ms/op 0.97
Half columns - reconstruct single blob out of 20 64.544 ms/op 67.772 ms/op 0.95
Set add up to 64 items then delete first 2.3358 us/op 2.0488 us/op 1.14
OrderedSet add up to 64 items then delete first 3.1042 us/op 3.2760 us/op 0.95
Set add up to 64 items then delete last 2.1798 us/op 2.0362 us/op 1.07
OrderedSet add up to 64 items then delete last 3.0413 us/op 3.2666 us/op 0.93
Set add up to 64 items then delete middle 1.9697 us/op 2.0614 us/op 0.96
OrderedSet add up to 64 items then delete middle 4.4435 us/op 4.7077 us/op 0.94
Set add up to 128 items then delete first 3.9140 us/op 3.9456 us/op 0.99
OrderedSet add up to 128 items then delete first 6.0077 us/op 5.8210 us/op 1.03
Set add up to 128 items then delete last 3.5869 us/op 3.7374 us/op 0.96
OrderedSet add up to 128 items then delete last 5.3991 us/op 5.7836 us/op 0.93
Set add up to 128 items then delete middle 3.5879 us/op 3.7719 us/op 0.95
OrderedSet add up to 128 items then delete middle 10.932 us/op 11.788 us/op 0.93
Set add up to 256 items then delete first 7.2956 us/op 7.4857 us/op 0.97
OrderedSet add up to 256 items then delete first 11.528 us/op 11.263 us/op 1.02
Set add up to 256 items then delete last 7.1363 us/op 7.5387 us/op 0.95
OrderedSet add up to 256 items then delete last 10.783 us/op 11.707 us/op 0.92
Set add up to 256 items then delete middle 7.1016 us/op 7.4261 us/op 0.96
OrderedSet add up to 256 items then delete middle 33.303 us/op 33.770 us/op 0.99
runFastConfirmationRules vc:100000 bc:96 eq:0 2.0980 us/op 2.0660 us/op 1.02
runFastConfirmationRules vc:600000 bc:96 eq:0 2.4080 us/op 2.1290 us/op 1.13
runFastConfirmationRules vc:1000000 bc:96 eq:0 2.1660 us/op 1.9730 us/op 1.10
runFastConfirmationRules vc:600000 bc:320 eq:0 5.0550 us/op 4.7770 us/op 1.06
runFastConfirmationRules vc:600000 bc:1200 eq:0 15.980 us/op 17.072 us/op 0.94
runFastConfirmationRules vc:600000 bc:96 eq:1000 2.2420 us/op 1.8430 us/op 1.22
runFastConfirmationRules vc:600000 bc:96 eq:10000 2.1270 us/op 1.8800 us/op 1.13
runFastConfirmationRules vc:600000 bc:96 eq:300000 2.2770 us/op 2.1030 us/op 1.08
pass gossip attestations to forkchoice per slot 2.3778 ms/op 2.4173 ms/op 0.98
forkChoice updateHead vc 100000 bc 64 eq 0 381.95 us/op 386.75 us/op 0.99
forkChoice updateHead vc 600000 bc 64 eq 0 2.2740 ms/op 2.2992 ms/op 0.99
forkChoice updateHead vc 1000000 bc 64 eq 0 3.7944 ms/op 3.8148 ms/op 0.99
forkChoice updateHead vc 600000 bc 320 eq 0 2.2870 ms/op 2.3186 ms/op 0.99
forkChoice updateHead vc 600000 bc 1200 eq 0 2.3742 ms/op 2.3213 ms/op 1.02
forkChoice updateHead vc 600000 bc 7200 eq 0 2.6305 ms/op 2.6206 ms/op 1.00
forkChoice updateHead vc 600000 bc 64 eq 1000 2.2872 ms/op 2.3303 ms/op 0.98
forkChoice updateHead vc 600000 bc 64 eq 10000 2.3770 ms/op 2.4020 ms/op 0.99
forkChoice updateHead vc 600000 bc 64 eq 300000 6.3777 ms/op 6.4717 ms/op 0.99
computeDeltas 1400000 validators 0% inactive 11.816 ms/op 11.879 ms/op 0.99
computeDeltas 1400000 validators 10% inactive 11.078 ms/op 11.113 ms/op 1.00
computeDeltas 1400000 validators 20% inactive 10.019 ms/op 10.132 ms/op 0.99
computeDeltas 1400000 validators 50% inactive 7.8020 ms/op 7.8060 ms/op 1.00
computeDeltas 2100000 validators 0% inactive 17.719 ms/op 17.767 ms/op 1.00
computeDeltas 2100000 validators 10% inactive 16.538 ms/op 16.650 ms/op 0.99
computeDeltas 2100000 validators 20% inactive 15.051 ms/op 15.230 ms/op 0.99
computeDeltas 2100000 validators 50% inactive 8.7692 ms/op 8.8329 ms/op 0.99
altair processAttestation - 250000 vs - 7PWei normalcase 1.7596 ms/op 2.4132 ms/op 0.73
altair processAttestation - 250000 vs - 7PWei worstcase 2.5411 ms/op 2.5567 ms/op 0.99
altair processAttestation - setStatus - 1/6 committees join 92.988 us/op 91.285 us/op 1.02
altair processAttestation - setStatus - 1/3 committees join 192.42 us/op 187.17 us/op 1.03
altair processAttestation - setStatus - 1/2 committees join 267.79 us/op 260.88 us/op 1.03
altair processAttestation - setStatus - 2/3 committees join 346.65 us/op 336.59 us/op 1.03
altair processAttestation - setStatus - 4/5 committees join 483.21 us/op 477.11 us/op 1.01
altair processAttestation - setStatus - 100% committees join 568.19 us/op 569.14 us/op 1.00
altair processBlock - 250000 vs - 7PWei normalcase 3.6153 ms/op 3.9915 ms/op 0.91
altair processBlock - 250000 vs - 7PWei normalcase hashState 15.672 ms/op 17.008 ms/op 0.92
altair processBlock - 250000 vs - 7PWei worstcase 20.260 ms/op 20.172 ms/op 1.00
altair processBlock - 250000 vs - 7PWei worstcase hashState 41.091 ms/op 38.099 ms/op 1.08
phase0 processBlock - 250000 vs - 7PWei normalcase 1.2383 ms/op 1.3425 ms/op 0.92
phase0 processBlock - 250000 vs - 7PWei worstcase 15.950 ms/op 18.124 ms/op 0.88
altair processEth1Data - 250000 vs - 7PWei normalcase 288.35 us/op 273.38 us/op 1.05
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:16 2.9100 us/op 4.7590 us/op 0.61
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:220 18.716 us/op 20.046 us/op 0.93
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:43 5.2440 us/op 5.3040 us/op 0.99
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:19 3.2830 us/op 3.4430 us/op 0.95
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1021 83.785 us/op 84.447 us/op 0.99
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11778 1.2928 ms/op 1.3559 ms/op 0.95
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.6881 ms/op 1.7406 ms/op 0.97
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.6865 ms/op 1.7599 ms/op 0.96
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.4312 ms/op 3.6330 ms/op 0.94
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.9254 ms/op 1.9883 ms/op 0.97
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.7618 ms/op 5.7404 ms/op 0.66
Tree 40 250000 create 289.97 ms/op 340.26 ms/op 0.85
Tree 40 250000 get(125000) 106.81 ns/op 90.708 ns/op 1.18
Tree 40 250000 set(125000) 937.75 ns/op 998.75 ns/op 0.94
Tree 40 250000 toArray() 10.889 ms/op 14.058 ms/op 0.77
Tree 40 250000 iterate all - toArray() + loop 10.723 ms/op 17.067 ms/op 0.63
Tree 40 250000 iterate all - get(i) 33.963 ms/op 39.354 ms/op 0.86
Array 250000 create 1.9841 ms/op 2.1683 ms/op 0.92
Array 250000 clone - spread 624.78 us/op 665.22 us/op 0.94
Array 250000 get(125000) 0.27800 ns/op 0.28700 ns/op 0.97
Array 250000 set(125000) 0.28100 ns/op 0.28700 ns/op 0.98
Array 250000 iterate all - loop 55.082 us/op 55.581 us/op 0.99
phase0 afterProcessEpoch - 250000 vs - 7PWei 37.490 ms/op 39.889 ms/op 0.94
Array.fill - length 1000000 1.8772 ms/op 2.0528 ms/op 0.91
Array push - length 1000000 8.6115 ms/op 8.7227 ms/op 0.99
Array.get 0.19820 ns/op 0.20042 ns/op 0.99
Uint8Array.get 0.22901 ns/op 0.22607 ns/op 1.01
phase0 beforeProcessEpoch - 250000 vs - 7PWei 16.385 ms/op 16.782 ms/op 0.98
altair processEpoch - mainnet_e81889 237.56 ms/op 253.02 ms/op 0.94
mainnet_e81889 - altair beforeProcessEpoch 15.845 ms/op 13.662 ms/op 1.16
mainnet_e81889 - altair processJustificationAndFinalization 5.2150 us/op 5.5160 us/op 0.95
mainnet_e81889 - altair processInactivityUpdates 3.2637 ms/op 3.2894 ms/op 0.99
mainnet_e81889 - altair processRewardsAndPenalties 18.670 ms/op 18.686 ms/op 1.00
mainnet_e81889 - altair processRegistryUpdates 496.00 ns/op 523.00 ns/op 0.95
mainnet_e81889 - altair processSlashings 122.00 ns/op 123.00 ns/op 0.99
mainnet_e81889 - altair processEth1DataReset 113.00 ns/op 122.00 ns/op 0.93
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.1484 ms/op 2.6216 ms/op 0.44
mainnet_e81889 - altair processSlashingsReset 630.00 ns/op 670.00 ns/op 0.94
mainnet_e81889 - altair processRandaoMixesReset 1.0430 us/op 1.0850 us/op 0.96
mainnet_e81889 - altair processHistoricalRootsUpdate 115.00 ns/op 124.00 ns/op 0.93
mainnet_e81889 - altair processParticipationFlagUpdates 401.00 ns/op 425.00 ns/op 0.94
mainnet_e81889 - altair processSyncCommitteeUpdates 95.000 ns/op 101.00 ns/op 0.94
mainnet_e81889 - altair afterProcessEpoch 40.210 ms/op 39.839 ms/op 1.01
capella processEpoch - mainnet_e217614 786.78 ms/op 812.38 ms/op 0.97
mainnet_e217614 - capella beforeProcessEpoch 55.524 ms/op 59.118 ms/op 0.94
mainnet_e217614 - capella processJustificationAndFinalization 5.9700 us/op 6.6170 us/op 0.90
mainnet_e217614 - capella processInactivityUpdates 15.116 ms/op 15.011 ms/op 1.01
mainnet_e217614 - capella processRewardsAndPenalties 82.285 ms/op 87.563 ms/op 0.94
mainnet_e217614 - capella processRegistryUpdates 4.3690 us/op 4.4270 us/op 0.99
mainnet_e217614 - capella processSlashings 126.00 ns/op 131.00 ns/op 0.96
mainnet_e217614 - capella processEth1DataReset 125.00 ns/op 126.00 ns/op 0.99
mainnet_e217614 - capella processEffectiveBalanceUpdates 11.903 ms/op 16.389 ms/op 0.73
mainnet_e217614 - capella processSlashingsReset 634.00 ns/op 687.00 ns/op 0.92
mainnet_e217614 - capella processRandaoMixesReset 1.1050 us/op 1.3250 us/op 0.83
mainnet_e217614 - capella processHistoricalRootsUpdate 125.00 ns/op 125.00 ns/op 1.00
mainnet_e217614 - capella processParticipationFlagUpdates 408.00 ns/op 432.00 ns/op 0.94
mainnet_e217614 - capella afterProcessEpoch 103.94 ms/op 106.06 ms/op 0.98
phase0 processEpoch - mainnet_e58758 284.49 ms/op 303.35 ms/op 0.94
mainnet_e58758 - phase0 beforeProcessEpoch 57.848 ms/op 65.854 ms/op 0.88
mainnet_e58758 - phase0 processJustificationAndFinalization 5.8230 us/op 6.4330 us/op 0.91
mainnet_e58758 - phase0 processRewardsAndPenalties 66.232 ms/op 15.579 ms/op 4.25
mainnet_e58758 - phase0 processRegistryUpdates 2.1390 us/op 2.2270 us/op 0.96
mainnet_e58758 - phase0 processSlashings 126.00 ns/op 126.00 ns/op 1.00
mainnet_e58758 - phase0 processEth1DataReset 124.00 ns/op 125.00 ns/op 0.99
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 773.53 us/op 804.01 us/op 0.96
mainnet_e58758 - phase0 processSlashingsReset 823.00 ns/op 886.00 ns/op 0.93
mainnet_e58758 - phase0 processRandaoMixesReset 1.1540 us/op 1.2860 us/op 0.90
mainnet_e58758 - phase0 processHistoricalRootsUpdate 125.00 ns/op 128.00 ns/op 0.98
mainnet_e58758 - phase0 processParticipationRecordUpdates 982.00 ns/op 1.2150 us/op 0.81
mainnet_e58758 - phase0 afterProcessEpoch 32.307 ms/op 33.081 ms/op 0.98
phase0 processEffectiveBalanceUpdates - 250000 normalcase 947.83 us/op 1.0000 ms/op 0.95
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.4772 ms/op 1.5139 ms/op 0.98
altair processInactivityUpdates - 250000 normalcase 10.354 ms/op 11.330 ms/op 0.91
altair processInactivityUpdates - 250000 worstcase 10.181 ms/op 10.528 ms/op 0.97
phase0 processRegistryUpdates - 250000 normalcase 2.1050 us/op 2.1960 us/op 0.96
phase0 processRegistryUpdates - 250000 badcase_full_deposits 135.41 us/op 141.09 us/op 0.96
phase0 processRegistryUpdates - 250000 worstcase 0.5 58.335 ms/op 65.151 ms/op 0.90
altair processRewardsAndPenalties - 250000 normalcase 14.882 ms/op 15.687 ms/op 0.95
altair processRewardsAndPenalties - 250000 worstcase 14.243 ms/op 15.451 ms/op 0.92
phase0 getAttestationDeltas - 250000 normalcase 5.0444 ms/op 5.1360 ms/op 0.98
phase0 getAttestationDeltas - 250000 worstcase 5.0580 ms/op 5.2624 ms/op 0.96
phase0 processSlashings - 250000 worstcase 56.737 us/op 58.627 us/op 0.97
altair processSyncCommitteeUpdates - 250000 9.4860 ms/op 10.495 ms/op 0.90
BeaconState.hashTreeRoot - No change 167.00 ns/op 160.00 ns/op 1.04
BeaconState.hashTreeRoot - 1 full validator 62.629 us/op 71.734 us/op 0.87
BeaconState.hashTreeRoot - 32 full validator 748.36 us/op 799.54 us/op 0.94
BeaconState.hashTreeRoot - 512 full validator 5.9510 ms/op 6.8472 ms/op 0.87
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 75.811 us/op 85.474 us/op 0.89
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.1877 ms/op 1.4534 ms/op 0.82
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 13.085 ms/op 15.887 ms/op 0.82
BeaconState.hashTreeRoot - 1 balances 60.976 us/op 69.520 us/op 0.88
BeaconState.hashTreeRoot - 32 balances 611.37 us/op 694.91 us/op 0.88
BeaconState.hashTreeRoot - 512 balances 4.6113 ms/op 5.5884 ms/op 0.83
BeaconState.hashTreeRoot - 250000 balances 118.32 ms/op 118.01 ms/op 1.00
aggregationBits - 2048 els - zipIndexesInBitList 18.458 us/op 18.883 us/op 0.98
regular array get 100000 times 21.944 us/op 22.456 us/op 0.98
wrappedArray get 100000 times 21.969 us/op 22.500 us/op 0.98
arrayWithProxy get 100000 times 9.3015 ms/op 17.597 ms/op 0.53
ssz.Root.equals 20.524 ns/op 20.914 ns/op 0.98
byteArrayEquals 20.297 ns/op 20.700 ns/op 0.98
Buffer.compare 8.4480 ns/op 8.5810 ns/op 0.98
processSlot - 1 slots 8.0530 us/op 8.1800 us/op 0.98
processSlot - 32 slots 1.7967 ms/op 2.0721 ms/op 0.87
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 5.0295 ms/op 3.9994 ms/op 1.26
getCommitteeAssignments - req 1 vs - 250000 vc 1.5762 ms/op 1.6062 ms/op 0.98
getCommitteeAssignments - req 100 vs - 250000 vc 3.2463 ms/op 3.2735 ms/op 0.99
getCommitteeAssignments - req 1000 vs - 250000 vc 3.5052 ms/op 3.5243 ms/op 0.99
findModifiedValidators - 10000 modified validators 719.12 ms/op 730.03 ms/op 0.99
findModifiedValidators - 1000 modified validators 476.70 ms/op 588.25 ms/op 0.81
findModifiedValidators - 100 modified validators 260.45 ms/op 295.77 ms/op 0.88
findModifiedValidators - 10 modified validators 230.27 ms/op 230.03 ms/op 1.00
findModifiedValidators - 1 modified validators 165.92 ms/op 176.67 ms/op 0.94
findModifiedValidators - no difference 136.92 ms/op 169.46 ms/op 0.81
migrate state 1500000 validators, 3400 modified, 2000 new 2.7287 s/op 2.9727 s/op 0.92
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 3.5300 ns/op 3.5600 ns/op 0.99
state getBlockRootAtSlot - 250000 vs - 7PWei 341.16 ns/op 345.95 ns/op 0.99
computeProposerIndex 100000 validators 1.2973 ms/op 1.3199 ms/op 0.98
getNextSyncCommitteeIndices 1000 validators 2.7676 ms/op 2.8043 ms/op 0.99
getNextSyncCommitteeIndices 10000 validators 24.110 ms/op 24.922 ms/op 0.97
getNextSyncCommitteeIndices 100000 validators 84.258 ms/op 85.439 ms/op 0.99
computeProposers - vc 250000 524.63 us/op 536.45 us/op 0.98
computeEpochShuffling - vc 250000 37.904 ms/op 39.412 ms/op 0.96
getNextSyncCommittee - vc 250000 9.6692 ms/op 9.4043 ms/op 1.03
nodejs block root to RootHex using toHex 85.817 ns/op 88.065 ns/op 0.97
nodejs block root to RootHex using toRootHex 49.857 ns/op 56.373 ns/op 0.88
nodejs fromHex(blob) 734.05 us/op 772.62 us/op 0.95
nodejs fromHexInto(blob) 593.07 us/op 604.11 us/op 0.98
nodejs block root to RootHex using the deprecated toHexString 351.16 ns/op 484.02 ns/op 0.73
nodejs byteArrayEquals 32 bytes (block root) 24.532 ns/op 25.265 ns/op 0.97
nodejs byteArrayEquals 48 bytes (pubkey) 35.615 ns/op 38.305 ns/op 0.93
nodejs byteArrayEquals 96 bytes (signature) 32.083 ns/op 33.963 ns/op 0.94
nodejs byteArrayEquals 1024 bytes 40.782 ns/op 41.554 ns/op 0.98
nodejs byteArrayEquals 131072 bytes (blob) 1.6692 us/op 1.7408 us/op 0.96
browser block root to RootHex using toHex 136.01 ns/op 141.16 ns/op 0.96
browser block root to RootHex using toRootHex 123.19 ns/op 128.61 ns/op 0.96
browser fromHex(blob) 1.4279 ms/op 1.4854 ms/op 0.96
browser fromHexInto(blob) 592.89 us/op 612.88 us/op 0.97
browser block root to RootHex using the deprecated toHexString 449.29 ns/op 327.61 ns/op 1.37
browser byteArrayEquals 32 bytes (block root) 26.473 ns/op 27.025 ns/op 0.98
browser byteArrayEquals 48 bytes (pubkey) 37.326 ns/op 38.512 ns/op 0.97
browser byteArrayEquals 96 bytes (signature) 69.875 ns/op 71.956 ns/op 0.97
browser byteArrayEquals 1024 bytes 713.82 ns/op 727.30 ns/op 0.98
browser byteArrayEquals 131072 bytes (blob) 89.761 us/op 92.560 us/op 0.97

by benchmarkbot/action

@nflaig
nflaig changed the base branch from unstable to nflaig/alpha.11 June 21, 2026 08:51
@nflaig
nflaig merged commit 00c25af into nflaig/alpha.11 Jun 21, 2026
5 of 6 checks passed
@nflaig
nflaig deleted the nflaig/process-execution-payload-bid-signed-bid branch June 21, 2026 09:36
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.

1 participant