Skip to content

fix: only trigger gloas blobs tracker in gossip#9322

Merged
wemeetagain merged 3 commits intounstablefrom
cayman/trigger-blobs-tracker-gossip
May 4, 2026
Merged

fix: only trigger gloas blobs tracker in gossip#9322
wemeetagain merged 3 commits intounstablefrom
cayman/trigger-blobs-tracker-gossip

Conversation

@wemeetagain
Copy link
Copy Markdown
Member

Motivation

  • seen during interop

Description

  • move gloas blob tracker trigger to gossip-only post-import

@wemeetagain wemeetagain requested a review from a team as a code owner May 2, 2026 17:36
Copy link
Copy Markdown
Contributor

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

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 moves the logic for triggering blob fetching from the general block import process to the specific gossip handler flow, ensuring it executes after successful block processing. The feedback identifies an outdated error message that still refers to the previous execution context and suggests a more accurate description to improve clarity during debugging.

Comment thread packages/beacon-node/src/network/processor/gossipHandlers.ts Outdated
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 2, 2026

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 27b533c Previous: 35940ff Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 868.99 us/op 890.92 us/op 0.98
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 38.640 us/op 39.438 us/op 0.98
BLS verify - blst 758.48 us/op 726.20 us/op 1.04
BLS verifyMultipleSignatures 3 - blst 1.3631 ms/op 1.2852 ms/op 1.06
BLS verifyMultipleSignatures 8 - blst 2.1740 ms/op 2.0654 ms/op 1.05
BLS verifyMultipleSignatures 32 - blst 6.7682 ms/op 6.3817 ms/op 1.06
BLS verifyMultipleSignatures 64 - blst 13.153 ms/op 12.703 ms/op 1.04
BLS verifyMultipleSignatures 128 - blst 25.345 ms/op 24.897 ms/op 1.02
BLS deserializing 10000 signatures 624.26 ms/op 616.45 ms/op 1.01
BLS deserializing 100000 signatures 6.2395 s/op 6.0606 s/op 1.03
BLS verifyMultipleSignatures - same message - 3 - blst 801.46 us/op 757.87 us/op 1.06
BLS verifyMultipleSignatures - same message - 8 - blst 949.01 us/op 855.59 us/op 1.11
BLS verifyMultipleSignatures - same message - 32 - blst 1.5468 ms/op 1.4822 ms/op 1.04
BLS verifyMultipleSignatures - same message - 64 - blst 2.3444 ms/op 2.2561 ms/op 1.04
BLS verifyMultipleSignatures - same message - 128 - blst 4.0084 ms/op 3.8602 ms/op 1.04
BLS aggregatePubkeys 32 - blst 17.517 us/op 16.956 us/op 1.03
BLS aggregatePubkeys 128 - blst 62.988 us/op 60.158 us/op 1.05
getSlashingsAndExits - default max 49.962 us/op 45.519 us/op 1.10
getSlashingsAndExits - 2k 323.73 us/op 336.51 us/op 0.96
proposeBlockBody type=full, size=empty 775.04 us/op 674.46 us/op 1.15
isKnown best case - 1 super set check 182.00 ns/op 158.00 ns/op 1.15
isKnown normal case - 2 super set checks 166.00 ns/op 166.00 ns/op 1.00
isKnown worse case - 16 super set checks 168.00 ns/op 158.00 ns/op 1.06
validate api signedAggregateAndProof - struct 1.5159 ms/op 1.4280 ms/op 1.06
validate gossip signedAggregateAndProof - struct 1.5131 ms/op 1.4328 ms/op 1.06
batch validate gossip attestation - vc 640000 - chunk 32 104.41 us/op 102.14 us/op 1.02
batch validate gossip attestation - vc 640000 - chunk 64 91.089 us/op 89.699 us/op 1.02
batch validate gossip attestation - vc 640000 - chunk 128 84.865 us/op 86.261 us/op 0.98
batch validate gossip attestation - vc 640000 - chunk 256 80.908 us/op 83.952 us/op 0.96
bytes32 toHexString 304.00 ns/op 274.00 ns/op 1.11
bytes32 Buffer.toString(hex) 176.00 ns/op 165.00 ns/op 1.07
bytes32 Buffer.toString(hex) from Uint8Array 238.00 ns/op 230.00 ns/op 1.03
bytes32 Buffer.toString(hex) + 0x 180.00 ns/op 166.00 ns/op 1.08
Return object 10000 times 0.20740 ns/op 0.20420 ns/op 1.02
Throw Error 10000 times 3.3566 us/op 3.2902 us/op 1.02
toHex 96.775 ns/op 95.273 ns/op 1.02
Buffer.from 89.160 ns/op 79.915 ns/op 1.12
shared Buffer 59.232 ns/op 53.753 ns/op 1.10
fastMsgIdFn sha256 / 200 bytes 1.5040 us/op 1.4140 us/op 1.06
fastMsgIdFn h32 xxhash / 200 bytes 162.00 ns/op 151.00 ns/op 1.07
fastMsgIdFn h64 xxhash / 200 bytes 207.00 ns/op 203.00 ns/op 1.02
fastMsgIdFn sha256 / 1000 bytes 4.8500 us/op 4.6520 us/op 1.04
fastMsgIdFn h32 xxhash / 1000 bytes 247.00 ns/op 247.00 ns/op 1.00
fastMsgIdFn h64 xxhash / 1000 bytes 256.00 ns/op 260.00 ns/op 0.98
fastMsgIdFn sha256 / 10000 bytes 43.247 us/op 41.936 us/op 1.03
fastMsgIdFn h32 xxhash / 10000 bytes 1.2380 us/op 1.2770 us/op 0.97
fastMsgIdFn h64 xxhash / 10000 bytes 800.00 ns/op 830.00 ns/op 0.96
send data - 1000 256B messages 3.9503 ms/op 4.4096 ms/op 0.90
send data - 1000 512B messages 4.1576 ms/op 4.2072 ms/op 0.99
send data - 1000 1024B messages 4.3298 ms/op 4.6204 ms/op 0.94
send data - 1000 1200B messages 4.3881 ms/op 5.0173 ms/op 0.87
send data - 1000 2048B messages 4.4956 ms/op 5.1795 ms/op 0.87
send data - 1000 4096B messages 5.1940 ms/op 5.9916 ms/op 0.87
send data - 1000 16384B messages 16.181 ms/op 31.474 ms/op 0.51
send data - 1000 65536B messages 153.76 ms/op 250.44 ms/op 0.61
enrSubnets - fastDeserialize 64 bits 729.00 ns/op 822.00 ns/op 0.89
enrSubnets - ssz BitVector 64 bits 266.00 ns/op 263.00 ns/op 1.01
enrSubnets - fastDeserialize 4 bits 107.00 ns/op 100.00 ns/op 1.07
enrSubnets - ssz BitVector 4 bits 270.00 ns/op 272.00 ns/op 0.99
prioritizePeers score -10:0 att 32-0.1 sync 2-0 204.85 us/op 212.15 us/op 0.97
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 230.86 us/op 261.91 us/op 0.88
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 333.69 us/op 355.83 us/op 0.94
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 595.63 us/op 598.62 us/op 1.00
prioritizePeers score 0:0 att 64-1 sync 4-1 689.47 us/op 689.35 us/op 1.00
array of 16000 items push then shift 1.2771 us/op 1.2293 us/op 1.04
LinkedList of 16000 items push then shift 6.6150 ns/op 7.3580 ns/op 0.90
array of 16000 items push then pop 64.705 ns/op 66.743 ns/op 0.97
LinkedList of 16000 items push then pop 5.9440 ns/op 5.9320 ns/op 1.00
array of 24000 items push then shift 1.8840 us/op 1.8079 us/op 1.04
LinkedList of 24000 items push then shift 6.2490 ns/op 6.7760 ns/op 0.92
array of 24000 items push then pop 89.306 ns/op 92.735 ns/op 0.96
LinkedList of 24000 items push then pop 5.9170 ns/op 5.7490 ns/op 1.03
intersect bitArray bitLen 8 4.7070 ns/op 4.5140 ns/op 1.04
intersect array and set length 8 31.843 ns/op 27.947 ns/op 1.14
intersect bitArray bitLen 128 24.007 ns/op 22.910 ns/op 1.05
intersect array and set length 128 505.50 ns/op 472.47 ns/op 1.07
bitArray.getTrueBitIndexes() bitLen 128 1.0580 us/op 1.0080 us/op 1.05
bitArray.getTrueBitIndexes() bitLen 248 1.7900 us/op 1.7590 us/op 1.02
bitArray.getTrueBitIndexes() bitLen 512 3.5590 us/op 3.5740 us/op 1.00
Full columns - reconstruct all 6 blobs 108.40 us/op 168.04 us/op 0.65
Full columns - reconstruct half of the blobs out of 6 84.206 us/op 84.316 us/op 1.00
Full columns - reconstruct single blob out of 6 33.217 us/op 32.218 us/op 1.03
Half columns - reconstruct all 6 blobs 373.02 ms/op 371.48 ms/op 1.00
Half columns - reconstruct half of the blobs out of 6 186.04 ms/op 189.30 ms/op 0.98
Half columns - reconstruct single blob out of 6 66.188 ms/op 68.053 ms/op 0.97
Full columns - reconstruct all 10 blobs 289.16 us/op 193.70 us/op 1.49
Full columns - reconstruct half of the blobs out of 10 126.03 us/op 105.51 us/op 1.19
Full columns - reconstruct single blob out of 10 31.062 us/op 26.394 us/op 1.18
Half columns - reconstruct all 10 blobs 619.11 ms/op 629.15 ms/op 0.98
Half columns - reconstruct half of the blobs out of 10 311.76 ms/op 308.73 ms/op 1.01
Half columns - reconstruct single blob out of 10 66.036 ms/op 67.745 ms/op 0.97
Full columns - reconstruct all 20 blobs 507.94 us/op 468.46 us/op 1.08
Full columns - reconstruct half of the blobs out of 20 190.15 us/op 180.53 us/op 1.05
Full columns - reconstruct single blob out of 20 33.237 us/op 76.622 us/op 0.43
Half columns - reconstruct all 20 blobs 1.2326 s/op 1.2380 s/op 1.00
Half columns - reconstruct half of the blobs out of 20 616.92 ms/op 621.06 ms/op 0.99
Half columns - reconstruct single blob out of 20 66.056 ms/op 67.865 ms/op 0.97
Set add up to 64 items then delete first 2.5885 us/op 1.9525 us/op 1.33
OrderedSet add up to 64 items then delete first 3.3565 us/op 3.1573 us/op 1.06
Set add up to 64 items then delete last 2.4792 us/op 2.0235 us/op 1.23
OrderedSet add up to 64 items then delete last 3.4000 us/op 3.2361 us/op 1.05
Set add up to 64 items then delete middle 2.1766 us/op 2.0642 us/op 1.05
OrderedSet add up to 64 items then delete middle 4.9161 us/op 4.7003 us/op 1.05
Set add up to 128 items then delete first 4.3132 us/op 4.0381 us/op 1.07
OrderedSet add up to 128 items then delete first 6.3148 us/op 5.7435 us/op 1.10
Set add up to 128 items then delete last 4.1545 us/op 3.7829 us/op 1.10
OrderedSet add up to 128 items then delete last 6.1404 us/op 5.8610 us/op 1.05
Set add up to 128 items then delete middle 4.0167 us/op 3.7755 us/op 1.06
OrderedSet add up to 128 items then delete middle 11.899 us/op 11.851 us/op 1.00
Set add up to 256 items then delete first 7.9669 us/op 7.9458 us/op 1.00
OrderedSet add up to 256 items then delete first 11.778 us/op 11.715 us/op 1.01
Set add up to 256 items then delete last 7.9579 us/op 7.4958 us/op 1.06
OrderedSet add up to 256 items then delete last 12.280 us/op 11.423 us/op 1.08
Set add up to 256 items then delete middle 7.8197 us/op 7.4050 us/op 1.06
OrderedSet add up to 256 items then delete middle 35.012 us/op 35.474 us/op 0.99
pass gossip attestations to forkchoice per slot 2.4618 ms/op 2.5333 ms/op 0.97
forkChoice updateHead vc 100000 bc 64 eq 0 478.18 us/op 374.26 us/op 1.28
forkChoice updateHead vc 600000 bc 64 eq 0 2.8543 ms/op 2.2214 ms/op 1.28
forkChoice updateHead vc 1000000 bc 64 eq 0 4.7387 ms/op 3.7304 ms/op 1.27
forkChoice updateHead vc 600000 bc 320 eq 0 2.8546 ms/op 2.2516 ms/op 1.27
forkChoice updateHead vc 600000 bc 1200 eq 0 2.9015 ms/op 2.2769 ms/op 1.27
forkChoice updateHead vc 600000 bc 7200 eq 0 3.1627 ms/op 3.4752 ms/op 0.91
forkChoice updateHead vc 600000 bc 64 eq 1000 3.4924 ms/op 2.8017 ms/op 1.25
forkChoice updateHead vc 600000 bc 64 eq 10000 3.5847 ms/op 2.9011 ms/op 1.24
forkChoice updateHead vc 600000 bc 64 eq 300000 8.0597 ms/op 6.4918 ms/op 1.24
computeDeltas 1400000 validators 0% inactive 13.836 ms/op 12.006 ms/op 1.15
computeDeltas 1400000 validators 10% inactive 12.686 ms/op 11.271 ms/op 1.13
computeDeltas 1400000 validators 20% inactive 11.854 ms/op 10.113 ms/op 1.17
computeDeltas 1400000 validators 50% inactive 9.2210 ms/op 7.9098 ms/op 1.17
computeDeltas 2100000 validators 0% inactive 20.244 ms/op 18.383 ms/op 1.10
computeDeltas 2100000 validators 10% inactive 19.039 ms/op 17.047 ms/op 1.12
computeDeltas 2100000 validators 20% inactive 17.719 ms/op 15.408 ms/op 1.15
computeDeltas 2100000 validators 50% inactive 13.814 ms/op 9.0334 ms/op 1.53
altair processAttestation - 250000 vs - 7PWei normalcase 1.7073 ms/op 2.2498 ms/op 0.76
altair processAttestation - 250000 vs - 7PWei worstcase 2.4283 ms/op 2.8662 ms/op 0.85
altair processAttestation - setStatus - 1/6 committees join 103.53 us/op 98.582 us/op 1.05
altair processAttestation - setStatus - 1/3 committees join 204.87 us/op 200.87 us/op 1.02
altair processAttestation - setStatus - 1/2 committees join 288.92 us/op 275.64 us/op 1.05
altair processAttestation - setStatus - 2/3 committees join 376.57 us/op 366.65 us/op 1.03
altair processAttestation - setStatus - 4/5 committees join 515.28 us/op 479.84 us/op 1.07
altair processAttestation - setStatus - 100% committees join 598.40 us/op 563.02 us/op 1.06
altair processBlock - 250000 vs - 7PWei normalcase 2.9213 ms/op 4.4286 ms/op 0.66
altair processBlock - 250000 vs - 7PWei normalcase hashState 12.320 ms/op 16.089 ms/op 0.77
altair processBlock - 250000 vs - 7PWei worstcase 19.954 ms/op 21.846 ms/op 0.91
altair processBlock - 250000 vs - 7PWei worstcase hashState 41.135 ms/op 43.126 ms/op 0.95
phase0 processBlock - 250000 vs - 7PWei normalcase 1.3181 ms/op 1.5055 ms/op 0.88
phase0 processBlock - 250000 vs - 7PWei worstcase 16.719 ms/op 17.742 ms/op 0.94
altair processEth1Data - 250000 vs - 7PWei normalcase 298.92 us/op 296.02 us/op 1.01
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:16 3.3720 us/op 3.8830 us/op 0.87
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:220 23.441 us/op 19.697 us/op 1.19
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:43 6.0630 us/op 5.7920 us/op 1.05
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:19 3.8230 us/op 3.4100 us/op 1.12
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1021 102.38 us/op 85.296 us/op 1.20
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11778 1.3658 ms/op 1.3239 ms/op 1.03
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.8115 ms/op 1.7697 ms/op 1.02
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.8224 ms/op 1.7060 ms/op 1.07
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.5168 ms/op 3.7200 ms/op 0.95
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.0606 ms/op 1.9717 ms/op 1.05
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.8476 ms/op 4.1148 ms/op 0.94
Tree 40 250000 create 310.81 ms/op 332.76 ms/op 0.93
Tree 40 250000 get(125000) 98.439 ns/op 86.875 ns/op 1.13
Tree 40 250000 set(125000) 1.0514 us/op 942.44 ns/op 1.12
Tree 40 250000 toArray() 9.3310 ms/op 15.392 ms/op 0.61
Tree 40 250000 iterate all - toArray() + loop 9.4193 ms/op 15.669 ms/op 0.60
Tree 40 250000 iterate all - get(i) 32.976 ms/op 38.018 ms/op 0.87
Array 250000 create 1.9881 ms/op 2.1110 ms/op 0.94
Array 250000 clone - spread 630.16 us/op 654.38 us/op 0.96
Array 250000 get(125000) 0.29500 ns/op 0.28200 ns/op 1.05
Array 250000 set(125000) 0.30300 ns/op 0.28300 ns/op 1.07
Array 250000 iterate all - loop 54.727 us/op 54.897 us/op 1.00
phase0 afterProcessEpoch - 250000 vs - 7PWei 47.135 ms/op 39.303 ms/op 1.20
Array.fill - length 1000000 2.2558 ms/op 1.9689 ms/op 1.15
Array push - length 1000000 7.4612 ms/op 8.7972 ms/op 0.85
Array.get 0.20045 ns/op 0.20270 ns/op 0.99
Uint8Array.get 0.24832 ns/op 0.23220 ns/op 1.07
phase0 beforeProcessEpoch - 250000 vs - 7PWei 13.285 ms/op 16.097 ms/op 0.83
altair processEpoch - mainnet_e81889 228.68 ms/op 266.16 ms/op 0.86
mainnet_e81889 - altair beforeProcessEpoch 20.456 ms/op 16.117 ms/op 1.27
mainnet_e81889 - altair processJustificationAndFinalization 8.9100 us/op 5.7930 us/op 1.54
mainnet_e81889 - altair processInactivityUpdates 4.6232 ms/op 4.3239 ms/op 1.07
mainnet_e81889 - altair processRewardsAndPenalties 18.085 ms/op 20.380 ms/op 0.89
mainnet_e81889 - altair processRegistryUpdates 523.00 ns/op 510.00 ns/op 1.03
mainnet_e81889 - altair processSlashings 135.00 ns/op 133.00 ns/op 1.02
mainnet_e81889 - altair processEth1DataReset 138.00 ns/op 129.00 ns/op 1.07
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.6814 ms/op 1.8413 ms/op 0.91
mainnet_e81889 - altair processSlashingsReset 684.00 ns/op 669.00 ns/op 1.02
mainnet_e81889 - altair processRandaoMixesReset 958.00 ns/op 1.2140 us/op 0.79
mainnet_e81889 - altair processHistoricalRootsUpdate 139.00 ns/op 130.00 ns/op 1.07
mainnet_e81889 - altair processParticipationFlagUpdates 409.00 ns/op 420.00 ns/op 0.97
mainnet_e81889 - altair processSyncCommitteeUpdates 120.00 ns/op 103.00 ns/op 1.17
mainnet_e81889 - altair afterProcessEpoch 39.375 ms/op 40.925 ms/op 0.96
capella processEpoch - mainnet_e217614 714.69 ms/op 853.28 ms/op 0.84
mainnet_e217614 - capella beforeProcessEpoch 65.103 ms/op 60.950 ms/op 1.07
mainnet_e217614 - capella processJustificationAndFinalization 4.8650 us/op 5.9270 us/op 0.82
mainnet_e217614 - capella processInactivityUpdates 14.582 ms/op 17.408 ms/op 0.84
mainnet_e217614 - capella processRewardsAndPenalties 94.232 ms/op 90.802 ms/op 1.04
mainnet_e217614 - capella processRegistryUpdates 4.4670 us/op 4.3660 us/op 1.02
mainnet_e217614 - capella processSlashings 143.00 ns/op 128.00 ns/op 1.12
mainnet_e217614 - capella processEth1DataReset 140.00 ns/op 123.00 ns/op 1.14
mainnet_e217614 - capella processEffectiveBalanceUpdates 5.5393 ms/op 11.837 ms/op 0.47
mainnet_e217614 - capella processSlashingsReset 660.00 ns/op 655.00 ns/op 1.01
mainnet_e217614 - capella processRandaoMixesReset 983.00 ns/op 1.3130 us/op 0.75
mainnet_e217614 - capella processHistoricalRootsUpdate 143.00 ns/op 124.00 ns/op 1.15
mainnet_e217614 - capella processParticipationFlagUpdates 408.00 ns/op 409.00 ns/op 1.00
mainnet_e217614 - capella afterProcessEpoch 103.95 ms/op 104.74 ms/op 0.99
phase0 processEpoch - mainnet_e58758 238.41 ms/op 299.73 ms/op 0.80
mainnet_e58758 - phase0 beforeProcessEpoch 45.225 ms/op 68.753 ms/op 0.66
mainnet_e58758 - phase0 processJustificationAndFinalization 4.7560 us/op 6.8440 us/op 0.69
mainnet_e58758 - phase0 processRewardsAndPenalties 16.168 ms/op 16.889 ms/op 0.96
mainnet_e58758 - phase0 processRegistryUpdates 2.2310 us/op 2.2100 us/op 1.01
mainnet_e58758 - phase0 processSlashings 140.00 ns/op 129.00 ns/op 1.09
mainnet_e58758 - phase0 processEth1DataReset 137.00 ns/op 126.00 ns/op 1.09
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 848.70 us/op 965.98 us/op 0.88
mainnet_e58758 - phase0 processSlashingsReset 769.00 ns/op 922.00 ns/op 0.83
mainnet_e58758 - phase0 processRandaoMixesReset 1.0080 us/op 1.3120 us/op 0.77
mainnet_e58758 - phase0 processHistoricalRootsUpdate 139.00 ns/op 129.00 ns/op 1.08
mainnet_e58758 - phase0 processParticipationRecordUpdates 992.00 ns/op 1.2080 us/op 0.82
mainnet_e58758 - phase0 afterProcessEpoch 32.395 ms/op 31.534 ms/op 1.03
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.0258 ms/op 954.54 us/op 1.07
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.5883 ms/op 1.4951 ms/op 1.06
altair processInactivityUpdates - 250000 normalcase 10.670 ms/op 12.588 ms/op 0.85
altair processInactivityUpdates - 250000 worstcase 10.711 ms/op 11.342 ms/op 0.94
phase0 processRegistryUpdates - 250000 normalcase 2.2940 us/op 3.3920 us/op 0.68
phase0 processRegistryUpdates - 250000 badcase_full_deposits 153.75 us/op 138.54 us/op 1.11
phase0 processRegistryUpdates - 250000 worstcase 0.5 56.636 ms/op 62.355 ms/op 0.91
altair processRewardsAndPenalties - 250000 normalcase 14.845 ms/op 15.967 ms/op 0.93
altair processRewardsAndPenalties - 250000 worstcase 14.440 ms/op 15.431 ms/op 0.94
phase0 getAttestationDeltas - 250000 normalcase 5.1977 ms/op 5.0299 ms/op 1.03
phase0 getAttestationDeltas - 250000 worstcase 5.2193 ms/op 5.1578 ms/op 1.01
phase0 processSlashings - 250000 worstcase 62.051 us/op 59.020 us/op 1.05
altair processSyncCommitteeUpdates - 250000 9.8077 ms/op 10.087 ms/op 0.97
BeaconState.hashTreeRoot - No change 195.00 ns/op 197.00 ns/op 0.99
BeaconState.hashTreeRoot - 1 full validator 58.657 us/op 89.086 us/op 0.66
BeaconState.hashTreeRoot - 32 full validator 652.44 us/op 1.0098 ms/op 0.65
BeaconState.hashTreeRoot - 512 full validator 6.2789 ms/op 9.1775 ms/op 0.68
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 72.233 us/op 119.14 us/op 0.61
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.0535 ms/op 1.5872 ms/op 0.66
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 12.841 ms/op 20.091 ms/op 0.64
BeaconState.hashTreeRoot - 1 balances 58.912 us/op 92.174 us/op 0.64
BeaconState.hashTreeRoot - 32 balances 551.04 us/op 791.52 us/op 0.70
BeaconState.hashTreeRoot - 512 balances 4.8342 ms/op 6.7958 ms/op 0.71
BeaconState.hashTreeRoot - 250000 balances 102.61 ms/op 134.78 ms/op 0.76
aggregationBits - 2048 els - zipIndexesInBitList 20.455 us/op 19.729 us/op 1.04
regular array get 100000 times 22.316 us/op 22.814 us/op 0.98
wrappedArray get 100000 times 22.312 us/op 22.794 us/op 0.98
arrayWithProxy get 100000 times 10.047 ms/op 9.1655 ms/op 1.10
ssz.Root.equals 21.046 ns/op 20.670 ns/op 1.02
byteArrayEquals 20.865 ns/op 20.905 ns/op 1.00
Buffer.compare 10.000 ns/op 8.6060 ns/op 1.16
processSlot - 1 slots 8.1780 us/op 8.8010 us/op 0.93
processSlot - 32 slots 1.5906 ms/op 1.9920 ms/op 0.80
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 2.0660 ms/op 4.6429 ms/op 0.44
getCommitteeAssignments - req 1 vs - 250000 vc 1.6967 ms/op 1.6133 ms/op 1.05
getCommitteeAssignments - req 100 vs - 250000 vc 3.3672 ms/op 3.3086 ms/op 1.02
getCommitteeAssignments - req 1000 vs - 250000 vc 3.5867 ms/op 3.5555 ms/op 1.01
findModifiedValidators - 10000 modified validators 723.45 ms/op 757.52 ms/op 0.96
findModifiedValidators - 1000 modified validators 462.83 ms/op 569.37 ms/op 0.81
findModifiedValidators - 100 modified validators 298.08 ms/op 274.96 ms/op 1.08
findModifiedValidators - 10 modified validators 221.01 ms/op 186.46 ms/op 1.19
findModifiedValidators - 1 modified validators 183.21 ms/op 167.38 ms/op 1.09
findModifiedValidators - no difference 142.98 ms/op 153.85 ms/op 0.93
migrate state 1500000 validators, 3400 modified, 2000 new 2.7321 s/op 3.2826 s/op 0.83
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 3.7700 ns/op 3.5000 ns/op 1.08
state getBlockRootAtSlot - 250000 vs - 7PWei 282.23 ns/op 427.07 ns/op 0.66
computeProposerIndex 100000 validators 1.2857 ms/op 1.3495 ms/op 0.95
getNextSyncCommitteeIndices 1000 validators 2.7667 ms/op 2.8565 ms/op 0.97
getNextSyncCommitteeIndices 10000 validators 24.381 ms/op 25.486 ms/op 0.96
getNextSyncCommitteeIndices 100000 validators 83.981 ms/op 86.331 ms/op 0.97
computeProposers - vc 250000 530.31 us/op 550.61 us/op 0.96
computeEpochShuffling - vc 250000 37.852 ms/op 39.764 ms/op 0.95
getNextSyncCommittee - vc 250000 9.1148 ms/op 9.6377 ms/op 0.95
nodejs block root to RootHex using toHex 107.67 ns/op 91.655 ns/op 1.17
nodejs block root to RootHex using toRootHex 58.510 ns/op 56.104 ns/op 1.04
nodejs fromHex(blob) 734.86 us/op 828.78 us/op 0.89
nodejs fromHexInto(blob) 654.97 us/op 621.22 us/op 1.05
nodejs block root to RootHex using the deprecated toHexString 488.21 ns/op 360.55 ns/op 1.35
nodejs byteArrayEquals 32 bytes (block root) 25.396 ns/op 26.037 ns/op 0.98
nodejs byteArrayEquals 48 bytes (pubkey) 36.593 ns/op 37.448 ns/op 0.98
nodejs byteArrayEquals 96 bytes (signature) 40.282 ns/op 33.276 ns/op 1.21
nodejs byteArrayEquals 1024 bytes 44.271 ns/op 39.909 ns/op 1.11
nodejs byteArrayEquals 131072 bytes (blob) 1.7278 us/op 1.7594 us/op 0.98
browser block root to RootHex using toHex 144.91 ns/op 142.58 ns/op 1.02
browser block root to RootHex using toRootHex 129.29 ns/op 127.84 ns/op 1.01
browser fromHex(blob) 1.5374 ms/op 1.7190 ms/op 0.89
browser fromHexInto(blob) 646.78 us/op 616.67 us/op 1.05
browser block root to RootHex using the deprecated toHexString 337.68 ns/op 467.06 ns/op 0.72
browser byteArrayEquals 32 bytes (block root) 27.081 ns/op 27.858 ns/op 0.97
browser byteArrayEquals 48 bytes (pubkey) 38.037 ns/op 39.403 ns/op 0.97
browser byteArrayEquals 96 bytes (signature) 71.345 ns/op 73.941 ns/op 0.96
browser byteArrayEquals 1024 bytes 724.11 ns/op 745.67 ns/op 0.97
browser byteArrayEquals 131072 bytes (blob) 91.601 us/op 94.356 us/op 0.97

by benchmarkbot/action

wemeetagain and others added 2 commits May 2, 2026 17:45
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@wemeetagain wemeetagain merged commit 374360e into unstable May 4, 2026
25 of 27 checks passed
@wemeetagain wemeetagain deleted the cayman/trigger-blobs-tracker-gossip branch May 4, 2026 20:56
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