Skip to content

chore: update stale pruning note in payload envelope seen cache doc - #10253

Merged
nflaig merged 1 commit into
unstablefrom
nflaig/payload-envelope-cache-doc
Oct 5, 2026
Merged

nflaig merged 1 commit into
unstablefrom
nflaig/payload-envelope-cache-doc

Conversation

@nflaig

@nflaig nflaig commented Oct 3, 2026

Copy link
Copy Markdown
Member

The class doc of SeenPayloadEnvelopeInput still says the cache settles back on prepareNextSlot ticks. Since #9509 the pruning runs on every block import instead, so this updates the note to say what keeps entries around and when they are evicted. Comment only, no code change.

@nflaig
nflaig marked this pull request as ready for review October 3, 2026 12:51
@nflaig
nflaig requested a review from a team as a code owner October 3, 2026 12:51
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 3, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-03T12:53:14.177976Z ea32c0b Draft marked ready
🔒 Security Review ✅ Completed 2026-10-03T12:53:48.371996Z ea32c0b Draft marked ready
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions

github-actions Bot commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: d70b3fb Previous: 1bf2143 Ratio
getPubkeys - native cache - req 1000 vs - 250000 vc 436.74 us/op 977.35 us/op 0.45
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 39.721 us/op 32.472 us/op 1.22
BLS verify - blst 889.88 us/op 737.11 us/op 1.21
BLS verifyMultipleSignatures 3 - blst 1.3658 ms/op 1.0976 ms/op 1.24
BLS verifyMultipleSignatures 8 - blst 2.2497 ms/op 1.8141 ms/op 1.24
BLS verifyMultipleSignatures 32 - blst 7.4651 ms/op 5.6391 ms/op 1.32
BLS verifyMultipleSignatures 64 - blst 14.298 ms/op 10.840 ms/op 1.32
BLS verifyMultipleSignatures 128 - blst 27.067 ms/op 20.690 ms/op 1.31
BLS deserializing 10000 signatures 636.02 ms/op 482.32 ms/op 1.32
BLS deserializing 100000 signatures 6.3209 s/op 4.9292 s/op 1.28
BLS verifyMultipleSignatures - same message - 3 - blst 940.32 us/op 779.50 us/op 1.21
BLS verifyMultipleSignatures - same message - 8 - blst 1.0683 ms/op 881.92 us/op 1.21
BLS verifyMultipleSignatures - same message - 32 - blst 1.6811 ms/op 1.3231 ms/op 1.27
BLS verifyMultipleSignatures - same message - 64 - blst 2.4947 ms/op 1.8986 ms/op 1.31
BLS verifyMultipleSignatures - same message - 128 - blst 4.0829 ms/op 3.1395 ms/op 1.30
BLS aggregatePubkeys 32 - blst 19.387 us/op 14.452 us/op 1.34
BLS aggregatePubkeys 128 - blst 70.489 us/op 52.023 us/op 1.35
getSlashingsAndExits - default max 43.758 us/op 42.471 us/op 1.03
getSlashingsAndExits - 2k 372.24 us/op 387.18 us/op 0.96
proposeBlockBody type=full, size=empty 711.95 us/op 687.18 us/op 1.04
isKnown best case - 1 super set check 166.00 ns/op 142.00 ns/op 1.17
isKnown normal case - 2 super set checks 166.00 ns/op 143.00 ns/op 1.16
isKnown worse case - 16 super set checks 165.00 ns/op 143.00 ns/op 1.15
validate api signedAggregateAndProof - struct 1.5358 ms/op 1.2317 ms/op 1.25
validate gossip signedAggregateAndProof - struct 1.5301 ms/op 1.2344 ms/op 1.24
batch validate gossip attestation - vc 640000 - chunk 32 126.44 us/op 105.95 us/op 1.19
batch validate gossip attestation - vc 640000 - chunk 64 107.35 us/op 89.837 us/op 1.19
batch validate gossip attestation - vc 640000 - chunk 128 98.203 us/op 82.116 us/op 1.20
batch validate gossip attestation - vc 640000 - chunk 256 99.049 us/op 80.155 us/op 1.24
bytes32 toHexString 291.00 ns/op 239.00 ns/op 1.22
bytes32 Buffer.toString(hex) 165.00 ns/op 142.00 ns/op 1.16
bytes32 Buffer.toString(hex) from Uint8Array 237.00 ns/op 204.00 ns/op 1.16
bytes32 Buffer.toString(hex) + 0x 167.00 ns/op 143.00 ns/op 1.17
Return object 10000 times 0.21330 ns/op 0.20220 ns/op 1.05
Throw Error 10000 times 3.3666 us/op 2.9139 us/op 1.16
toHex 105.65 ns/op 78.694 ns/op 1.34
Buffer.from 90.871 ns/op 64.401 ns/op 1.41
shared Buffer 64.463 ns/op 42.493 ns/op 1.52
fastMsgIdFn sha256 / 200 bytes 1.4880 us/op 1.2110 us/op 1.23
fastMsgIdFn h32 xxhash / 200 bytes 157.00 ns/op 125.00 ns/op 1.26
fastMsgIdFn h64 xxhash / 200 bytes 199.00 ns/op 184.00 ns/op 1.08
fastMsgIdFn sha256 / 1000 bytes 4.7470 us/op 3.8190 us/op 1.24
fastMsgIdFn h32 xxhash / 1000 bytes 244.00 ns/op 187.00 ns/op 1.30
fastMsgIdFn h64 xxhash / 1000 bytes 247.00 ns/op 204.00 ns/op 1.21
fastMsgIdFn sha256 / 10000 bytes 41.872 us/op 33.098 us/op 1.27
fastMsgIdFn h32 xxhash / 10000 bytes 1.2650 us/op 934.00 ns/op 1.35
fastMsgIdFn h64 xxhash / 10000 bytes 829.00 ns/op 578.00 ns/op 1.43
send data - 1000 256B messages 4.2580 ms/op 4.3770 ms/op 0.97
send data - 1000 512B messages 5.0352 ms/op 5.3670 ms/op 0.94
send data - 1000 1024B messages 5.3714 ms/op 5.7528 ms/op 0.93
send data - 1000 1200B messages 6.0211 ms/op 5.9731 ms/op 1.01
send data - 1000 2048B messages 11.648 ms/op 8.1081 ms/op 1.44
send data - 1000 4096B messages 103.57 ms/op 58.191 ms/op 1.78
send data - 1000 16384B messages 369.39 ms/op 314.29 ms/op 1.18
send data - 1000 65536B messages 1.8613 s/op 1.4391 s/op 1.29
enrSubnets - fastDeserialize 64 bits 739.00 ns/op 662.00 ns/op 1.12
enrSubnets - ssz BitVector 64 bits 273.00 ns/op 224.00 ns/op 1.22
enrSubnets - fastDeserialize 4 bits 96.000 ns/op 70.000 ns/op 1.37
enrSubnets - ssz BitVector 4 bits 276.00 ns/op 228.00 ns/op 1.21
prioritizePeers score -10:0 att 32-0.1 sync 2-0 204.52 us/op 166.60 us/op 1.23
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 232.46 us/op 179.79 us/op 1.29
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 336.70 us/op 268.55 us/op 1.25
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 589.57 us/op 470.87 us/op 1.25
prioritizePeers score 0:0 att 64-1 sync 4-1 692.91 us/op 548.41 us/op 1.26
archive index / 1 slot / archive root index lookup 17.310 us/op 42.031 us/op 0.41
archive index / 1 slot / archive block lookup, decode and hash 2.7737 ms/op 2.4156 ms/op 1.15
archive index / 1 slots / 1 columns / legacy 20.506 us/op 50.798 us/op 0.40
archive index / 1 slots / 1 columns / flat files 150.80 us/op 292.66 us/op 0.52
archive index / 1 slots / 8 columns / legacy 78.010 us/op 91.080 us/op 0.86
archive index / 1 slots / 8 columns / flat files 354.65 us/op 342.18 us/op 1.04
archive index / 1 slots / 128 columns / legacy 1.7436 ms/op 6.7506 ms/op 0.26
archive index / 1 slots / 128 columns / flat files 4.3174 ms/op 3.6435 ms/op 1.18
archive index / 8 slots / 1 columns / legacy 169.00 us/op 118.29 us/op 1.43
archive index / 8 slots / 1 columns / flat files 1.0736 ms/op 2.2024 ms/op 0.49
archive index / 8 slots / 8 columns / legacy 1.7809 ms/op 5.6414 ms/op 0.32
archive index / 8 slots / 8 columns / flat files 3.0296 ms/op 3.3497 ms/op 0.90
archive index / 8 slots / 128 columns / legacy 69.132 ms/op 81.236 ms/op 0.85
archive index / 8 slots / 128 columns / flat files 226.62 ms/op 209.25 ms/op 1.08
head state / 1 slot / archive root index lookup 19.022 us/op 40.668 us/op 0.47
head state / 1 slot / archive block lookup, decode and hash 2.7689 ms/op 2.3416 ms/op 1.18
head state / 1 slots / 1 columns / legacy 21.836 us/op 45.422 us/op 0.48
head state / 1 slots / 1 columns / flat files 127.44 us/op 232.69 us/op 0.55
head state / 1 slots / 8 columns / legacy 76.933 us/op 121.12 us/op 0.64
head state / 1 slots / 8 columns / flat files 321.07 us/op 293.57 us/op 1.09
head state / 1 slots / 128 columns / legacy 11.260 ms/op 10.640 ms/op 1.06
head state / 1 slots / 128 columns / flat files 4.2072 ms/op 3.2087 ms/op 1.31
head state / 8 slots / 1 columns / legacy 172.40 us/op 309.27 us/op 0.56
head state / 8 slots / 1 columns / flat files 890.95 us/op 1.8790 ms/op 0.47
head state / 8 slots / 8 columns / legacy 5.2290 ms/op 5.4058 ms/op 0.97
head state / 8 slots / 8 columns / flat files 2.7830 ms/op 2.0680 ms/op 1.35
head state / 8 slots / 128 columns / legacy 99.112 ms/op 61.077 ms/op 1.62
head state / 8 slots / 128 columns / flat files 215.79 ms/op 201.13 ms/op 1.07
array of 16000 items push then shift 1.2967 us/op 751.06 ns/op 1.73
LinkedList of 16000 items push then shift 6.6200 ns/op 4.7520 ns/op 1.39
array of 16000 items push then pop 76.568 ns/op 48.569 ns/op 1.58
LinkedList of 16000 items push then pop 5.9480 ns/op 4.4950 ns/op 1.32
array of 24000 items push then shift 1.9195 us/op 1.1031 us/op 1.74
LinkedList of 24000 items push then shift 6.3210 ns/op 4.7410 ns/op 1.33
array of 24000 items push then pop 106.73 ns/op 68.363 ns/op 1.56
LinkedList of 24000 items push then pop 5.9560 ns/op 4.7100 ns/op 1.26
intersect bitArray bitLen 8 3.8420 ns/op 2.3910 ns/op 1.61
intersect array and set length 8 30.341 ns/op 23.648 ns/op 1.28
intersect bitArray bitLen 128 23.326 ns/op 16.276 ns/op 1.43
intersect array and set length 128 507.01 ns/op 363.94 ns/op 1.39
bitArray.getTrueBitIndexes() bitLen 128 903.00 ns/op 803.00 ns/op 1.12
bitArray.getTrueBitIndexes() bitLen 248 1.6350 us/op 1.4460 us/op 1.13
bitArray.getTrueBitIndexes() bitLen 512 3.3830 us/op 3.0960 us/op 1.09
Full columns - reconstruct all 6 blobs 136.18 us/op 141.77 us/op 0.96
Full columns - reconstruct half of the blobs out of 6 70.526 us/op 61.429 us/op 1.15
Full columns - reconstruct single blob out of 6 34.631 us/op 27.839 us/op 1.24
Half columns - reconstruct all 6 blobs 377.37 ms/op 296.53 ms/op 1.27
Half columns - reconstruct half of the blobs out of 6 189.44 ms/op 151.26 ms/op 1.25
Half columns - reconstruct single blob out of 6 66.635 ms/op 53.810 ms/op 1.24
Set add up to 64 items then delete first 1.6551 us/op 1.2686 us/op 1.30
OrderedSet add up to 64 items then delete first 2.5196 us/op 1.8971 us/op 1.33
Set add up to 64 items then delete last 1.8742 us/op 1.5378 us/op 1.22
OrderedSet add up to 64 items then delete last 2.7848 us/op 2.3319 us/op 1.19
Set add up to 64 items then delete middle 1.8818 us/op 1.5072 us/op 1.25
OrderedSet add up to 64 items then delete middle 4.4319 us/op 3.0799 us/op 1.44
Set add up to 128 items then delete first 3.7371 us/op 3.5168 us/op 1.06
OrderedSet add up to 128 items then delete first 5.6683 us/op 5.5433 us/op 1.02
Set add up to 128 items then delete last 3.5721 us/op 3.4437 us/op 1.04
OrderedSet add up to 128 items then delete last 5.3771 us/op 4.9919 us/op 1.08
Set add up to 128 items then delete middle 3.5929 us/op 3.5808 us/op 1.00
OrderedSet add up to 128 items then delete middle 11.201 us/op 8.9478 us/op 1.25
Set add up to 256 items then delete first 7.4512 us/op 7.3497 us/op 1.01
OrderedSet add up to 256 items then delete first 11.598 us/op 11.655 us/op 1.00
Set add up to 256 items then delete last 7.1101 us/op 7.3181 us/op 0.97
OrderedSet add up to 256 items then delete last 11.069 us/op 15.814 us/op 0.70
Set add up to 256 items then delete middle 7.1675 us/op 7.6288 us/op 0.94
OrderedSet add up to 256 items then delete middle 34.524 us/op 28.282 us/op 1.22
runFastConfirmationRules vc:100000 bc:96 eq:0 4.8261 ms/op 3.4908 ms/op 1.38
runFastConfirmationRules vc:600000 bc:96 eq:0 34.753 ms/op 28.158 ms/op 1.23
runFastConfirmationRules vc:1000000 bc:96 eq:0 57.515 ms/op 46.475 ms/op 1.24
runFastConfirmationRules vc:600000 bc:320 eq:0 35.397 ms/op 29.475 ms/op 1.20
runFastConfirmationRules vc:100000 bc:96 eq:1000 1.1358 s/op 1.0488 s/op 1.08
pass gossip attestations to forkchoice per slot 4.5795 ms/op 3.5881 ms/op 1.28
forkChoice updateHead vc 100000 bc 64 eq 0 446.20 us/op 307.76 us/op 1.45
forkChoice updateHead vc 600000 bc 64 eq 0 2.6420 ms/op 1.8753 ms/op 1.41
forkChoice updateHead vc 1000000 bc 64 eq 0 4.3752 ms/op 3.1458 ms/op 1.39
forkChoice updateHead vc 600000 bc 320 eq 0 2.6380 ms/op 1.8263 ms/op 1.44
forkChoice updateHead vc 600000 bc 1200 eq 0 2.7016 ms/op 1.8818 ms/op 1.44
forkChoice updateHead vc 600000 bc 7200 eq 0 3.1404 ms/op 2.3219 ms/op 1.35
forkChoice updateHead vc 600000 bc 64 eq 1000 2.8722 ms/op 1.8921 ms/op 1.52
forkChoice updateHead vc 600000 bc 64 eq 10000 2.7807 ms/op 1.9613 ms/op 1.42
forkChoice updateHead vc 600000 bc 64 eq 300000 7.2316 ms/op 5.1195 ms/op 1.41
forkChoice updateHead vc 600000 bc 64 eq 0 gloas boosted 3.2292 ms/op 2.3304 ms/op 1.39
computeDeltas 1400000 validators 0% inactive 13.660 ms/op 8.7096 ms/op 1.57
computeDeltas 1400000 validators 10% inactive 12.621 ms/op 8.2202 ms/op 1.54
computeDeltas 1400000 validators 20% inactive 11.910 ms/op 7.8016 ms/op 1.53
computeDeltas 1400000 validators 50% inactive 9.5493 ms/op 6.4258 ms/op 1.49
computeDeltas 2100000 validators 0% inactive 19.977 ms/op 13.116 ms/op 1.52
computeDeltas 2100000 validators 10% inactive 18.899 ms/op 10.745 ms/op 1.76
computeDeltas 2100000 validators 20% inactive 17.755 ms/op 10.109 ms/op 1.76
computeDeltas 2100000 validators 50% inactive 14.540 ms/op 8.2169 ms/op 1.77
altair processAttestation - 250000 vs - 7PWei normalcase 1.5721 ms/op 1.6564 ms/op 0.95
altair processAttestation - 250000 vs - 7PWei worstcase 2.4377 ms/op 2.5087 ms/op 0.97
altair processAttestation - setStatus - 1/6 committees join 103.17 us/op 97.273 us/op 1.06
altair processAttestation - setStatus - 1/3 committees join 204.27 us/op 189.47 us/op 1.08
altair processAttestation - setStatus - 1/2 committees join 296.74 us/op 266.00 us/op 1.12
altair processAttestation - setStatus - 2/3 committees join 385.36 us/op 348.98 us/op 1.10
altair processAttestation - setStatus - 4/5 committees join 538.62 us/op 468.64 us/op 1.15
altair processAttestation - setStatus - 100% committees join 622.75 us/op 554.05 us/op 1.12
altair processBlock - 250000 vs - 7PWei normalcase 4.2422 ms/op 4.5421 ms/op 0.93
altair processBlock - 250000 vs - 7PWei normalcase hashState 21.594 ms/op 23.386 ms/op 0.92
altair processBlock - 250000 vs - 7PWei worstcase 24.871 ms/op 20.983 ms/op 1.19
altair processBlock - 250000 vs - 7PWei worstcase hashState 52.636 ms/op 55.061 ms/op 0.96
phase0 processBlock - 250000 vs - 7PWei normalcase 1.2864 ms/op 1.2744 ms/op 1.01
phase0 processBlock - 250000 vs - 7PWei worstcase 19.575 ms/op 16.091 ms/op 1.22
altair processEth1Data - 250000 vs - 7PWei normalcase 306.98 us/op 219.58 us/op 1.40
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:16 7.7180 us/op 5.9310 us/op 1.30
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:220 20.966 us/op 21.536 us/op 0.97
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:43 5.9440 us/op 8.8550 us/op 0.67
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:19 3.7080 us/op 6.9100 us/op 0.54
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1021 95.859 us/op 86.808 us/op 1.10
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11778 1.4279 ms/op 1.1226 ms/op 1.27
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.8713 ms/op 1.4976 ms/op 1.25
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.8744 ms/op 1.4817 ms/op 1.27
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.6567 ms/op 2.8653 ms/op 1.28
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.1759 ms/op 1.6668 ms/op 1.31
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.0395 ms/op 3.0531 ms/op 1.32
Tree 40 250000 create 329.11 ms/op 396.94 ms/op 0.83
Tree 40 250000 get(125000) 100.59 ns/op 72.134 ns/op 1.39
Tree 40 250000 set(125000) 1.0511 us/op 1.2423 us/op 0.85
Tree 40 250000 toArray() 9.9345 ms/op 17.133 ms/op 0.58
Tree 40 250000 iterate all - toArray() + loop 10.128 ms/op 16.159 ms/op 0.63
Tree 40 250000 iterate all - get(i) 41.613 ms/op 33.909 ms/op 1.23
Array 250000 create 2.4499 ms/op 1.4735 ms/op 1.66
Array 250000 clone - spread 769.03 us/op 371.65 us/op 2.07
Array 250000 get(125000) 0.29300 ns/op 0.26400 ns/op 1.11
Array 250000 set(125000) 0.29500 ns/op 0.27200 ns/op 1.08
Array 250000 iterate all - loop 56.762 us/op 47.976 us/op 1.18
phase0 afterProcessEpoch - 250000 vs - 7PWei 21.057 ms/op 18.738 ms/op 1.12
Array.fill - length 1000000 4.2429 ms/op 2.6410 ms/op 1.61
Array push - length 1000000 13.869 ms/op 10.068 ms/op 1.38
Array.get 0.20246 ns/op 0.20102 ns/op 1.01
Uint8Array.get 0.26794 ns/op 0.21972 ns/op 1.22
phase0 beforeProcessEpoch - 250000 vs - 7PWei 13.320 ms/op 18.085 ms/op 0.74
altair processEpoch - mainnet_e81889 208.26 ms/op 265.32 ms/op 0.78
mainnet_e81889 - altair beforeProcessEpoch 37.674 ms/op 17.589 ms/op 2.14
mainnet_e81889 - altair processJustificationAndFinalization 4.4470 us/op 5.1850 us/op 0.86
mainnet_e81889 - altair processInactivityUpdates 3.4759 ms/op 3.7488 ms/op 0.93
mainnet_e81889 - altair processRewardsAndPenalties 17.413 ms/op 17.827 ms/op 0.98
mainnet_e81889 - altair processRegistryUpdates 563.00 ns/op 448.00 ns/op 1.26
mainnet_e81889 - altair processSlashings 139.00 ns/op 110.00 ns/op 1.26
mainnet_e81889 - altair processEth1DataReset 138.00 ns/op 106.00 ns/op 1.30
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.5086 ms/op 998.47 us/op 1.51
mainnet_e81889 - altair processSlashingsReset 685.00 ns/op 591.00 ns/op 1.16
mainnet_e81889 - altair processRandaoMixesReset 888.00 ns/op 1.0490 us/op 0.85
mainnet_e81889 - altair processHistoricalRootsUpdate 137.00 ns/op 112.00 ns/op 1.22
mainnet_e81889 - altair processParticipationFlagUpdates 441.00 ns/op 371.00 ns/op 1.19
mainnet_e81889 - altair processSyncCommitteeUpdates 107.00 ns/op 90.000 ns/op 1.19
mainnet_e81889 - altair afterProcessEpoch 22.394 ms/op 19.764 ms/op 1.13
capella processEpoch - mainnet_e217614 561.18 ms/op 821.19 ms/op 0.68
mainnet_e217614 - capella beforeProcessEpoch 61.868 ms/op 59.526 ms/op 1.04
mainnet_e217614 - capella processJustificationAndFinalization 4.4780 us/op 4.7730 us/op 0.94
mainnet_e217614 - capella processInactivityUpdates 11.493 ms/op 15.047 ms/op 0.76
mainnet_e217614 - capella processRewardsAndPenalties 90.467 ms/op 97.908 ms/op 0.92
mainnet_e217614 - capella processRegistryUpdates 4.4840 us/op 3.6980 us/op 1.21
mainnet_e217614 - capella processSlashings 147.00 ns/op 112.00 ns/op 1.31
mainnet_e217614 - capella processEth1DataReset 145.00 ns/op 111.00 ns/op 1.31
mainnet_e217614 - capella processEffectiveBalanceUpdates 5.5403 ms/op 11.240 ms/op 0.49
mainnet_e217614 - capella processSlashingsReset 666.00 ns/op 590.00 ns/op 1.13
mainnet_e217614 - capella processRandaoMixesReset 914.00 ns/op 919.00 ns/op 0.99
mainnet_e217614 - capella processHistoricalSummariesUpdate 137.00 ns/op 112.00 ns/op 1.22
mainnet_e217614 - capella processParticipationFlagUpdates 453.00 ns/op 378.00 ns/op 1.20
mainnet_e217614 - capella afterProcessEpoch 59.338 ms/op 51.711 ms/op 1.15
phase0 processEpoch - mainnet_e58758 183.11 ms/op 294.52 ms/op 0.62
mainnet_e58758 - phase0 beforeProcessEpoch 51.370 ms/op 66.196 ms/op 0.78
mainnet_e58758 - phase0 processJustificationAndFinalization 4.8870 us/op 6.4660 us/op 0.76
mainnet_e58758 - phase0 processRewardsAndPenalties 16.014 ms/op 15.086 ms/op 1.06
mainnet_e58758 - phase0 processRegistryUpdates 2.2550 us/op 1.8630 us/op 1.21
mainnet_e58758 - phase0 processSlashings 143.00 ns/op 110.00 ns/op 1.30
mainnet_e58758 - phase0 processEth1DataReset 137.00 ns/op 110.00 ns/op 1.25
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 865.65 us/op 581.49 us/op 1.49
mainnet_e58758 - phase0 processSlashingsReset 818.00 ns/op 679.00 ns/op 1.20
mainnet_e58758 - phase0 processRandaoMixesReset 933.00 ns/op 1.0300 us/op 0.91
mainnet_e58758 - phase0 processHistoricalRootsUpdate 339.00 ns/op 114.00 ns/op 2.97
mainnet_e58758 - phase0 processParticipationRecordUpdates 988.00 ns/op 1.0670 us/op 0.93
mainnet_e58758 - phase0 afterProcessEpoch 17.953 ms/op 16.277 ms/op 1.10
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.0115 ms/op 725.88 us/op 1.39
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.6315 ms/op 851.15 us/op 1.92
gloas processInactivityUpdates - 250000 inactivity leak all eligible missed target 10.280 ms/op 11.458 ms/op 0.90
phase0 processRegistryUpdates - 250000 normalcase 2.4800 us/op 7.2620 us/op 0.34
phase0 processRegistryUpdates - 250000 badcase_full_deposits 142.53 us/op 123.92 us/op 1.15
phase0 processRegistryUpdates - 250000 worstcase 0.5 67.255 ms/op 56.321 ms/op 1.19
altair processRewardsAndPenalties - 250000 normalcase 15.083 ms/op 13.655 ms/op 1.10
altair processRewardsAndPenalties - 250000 worstcase 14.127 ms/op 13.955 ms/op 1.01
phase0 getAttestationDeltas - 250000 normalcase 5.6484 ms/op 4.0946 ms/op 1.38
phase0 getAttestationDeltas - 250000 worstcase 6.2294 ms/op 4.2692 ms/op 1.46
phase0 processSlashings - 250000 worstcase 60.603 us/op 50.319 us/op 1.20
altair processSyncCommitteeUpdates - 250000 13.459 ms/op 13.134 ms/op 1.02
BeaconState.hashTreeRoot - No change 185.00 ns/op 141.00 ns/op 1.31
BeaconState.hashTreeRoot - 1 full validator 69.897 us/op 101.05 us/op 0.69
BeaconState.hashTreeRoot - 32 full validator 822.64 us/op 1.5868 ms/op 0.52
BeaconState.hashTreeRoot - 512 full validator 6.8405 ms/op 14.677 ms/op 0.47
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 75.881 us/op 168.96 us/op 0.45
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.1266 ms/op 1.7509 ms/op 0.64
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 14.442 ms/op 22.869 ms/op 0.63
BeaconState.hashTreeRoot - 1 balances 59.055 us/op 120.25 us/op 0.49
BeaconState.hashTreeRoot - 32 balances 672.85 us/op 1.3500 ms/op 0.50
BeaconState.hashTreeRoot - 512 balances 5.0494 ms/op 9.5096 ms/op 0.53
BeaconState.hashTreeRoot - 250000 balances 101.55 ms/op 211.71 ms/op 0.48
aggregationBits - 2048 els - zipIndexesInBitList 19.157 us/op 15.855 us/op 1.21
regular array get 100000 times 23.379 us/op 19.864 us/op 1.18
wrappedArray get 100000 times 23.290 us/op 20.297 us/op 1.15
arrayWithProxy get 100000 times 10.285 ms/op 7.6887 ms/op 1.34
ssz.Root.equals 21.657 ns/op 16.264 ns/op 1.33
byteArrayEquals 21.575 ns/op 16.028 ns/op 1.35
Buffer.compare 8.8900 ns/op 6.5220 ns/op 1.36
processSlot - 1 slots 8.0770 us/op 11.128 us/op 0.73
processSlot - 32 slots 1.5587 ms/op 2.3187 ms/op 0.67
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 4.1211 ms/op 4.4625 ms/op 0.92
getCommitteeAssignments - req 1 vs - 250000 vc 1.6698 ms/op 1.5044 ms/op 1.11
getCommitteeAssignments - req 100 vs - 250000 vc 3.3927 ms/op 3.4363 ms/op 0.99
getCommitteeAssignments - req 1000 vs - 250000 vc 3.6540 ms/op 3.6850 ms/op 0.99
findModifiedValidators - 10000 modified validators 910.10 ms/op 848.90 ms/op 1.07
findModifiedValidators - 1000 modified validators 566.94 ms/op 423.54 ms/op 1.34
findModifiedValidators - 100 modified validators 348.80 ms/op 327.81 ms/op 1.06
findModifiedValidators - 10 modified validators 223.74 ms/op 290.73 ms/op 0.77
findModifiedValidators - 1 modified validators 218.55 ms/op 212.96 ms/op 1.03
findModifiedValidators - no difference 225.79 ms/op 194.63 ms/op 1.16
migrate state 1500000 validators, 3400 modified, 2000 new 3.4326 s/op 3.5530 s/op 0.97
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 3.7400 ns/op 2.6200 ns/op 1.43
state getBlockRootAtSlot - 250000 vs - 7PWei 345.51 ns/op 505.94 ns/op 0.68
computeProposerIndex 100000 validators 2.7477 ms/op 2.4599 ms/op 1.12
getNextSyncCommitteeIndices 1000 validators 1.4613 ms/op 1.3435 ms/op 1.09
getNextSyncCommitteeIndices 10000 validators 13.806 ms/op 13.424 ms/op 1.03
getNextSyncCommitteeIndices 100000 validators 55.049 ms/op 52.801 ms/op 1.04
computeProposers - vc 250000 1.3098 ms/op 1.1476 ms/op 1.14
computeEpochShuffling - vc 250000 21.565 ms/op 18.488 ms/op 1.17
getNextSyncCommittee - vc 250000 13.106 ms/op 11.981 ms/op 1.09
nodejs block root to RootHex using toHex 97.763 ns/op 77.952 ns/op 1.25
nodejs block root to RootHex using toRootHex 64.520 ns/op 45.499 ns/op 1.42
nodejs fromHex(blob) 1.1277 ms/op 822.02 us/op 1.37
nodejs fromHexInto(blob) 655.52 us/op 461.04 us/op 1.42
nodejs block root to RootHex using the deprecated toHexString 651.78 ns/op 566.85 ns/op 1.15
nodejs byteArrayEquals 32 bytes (block root) 26.005 ns/op 18.172 ns/op 1.43
nodejs byteArrayEquals 48 bytes (pubkey) 38.019 ns/op 25.886 ns/op 1.47
nodejs byteArrayEquals 96 bytes (signature) 37.376 ns/op 27.052 ns/op 1.38
nodejs byteArrayEquals 1024 bytes 45.378 ns/op 32.710 ns/op 1.39
nodejs byteArrayEquals 131072 bytes (blob) 1.7785 us/op 1.1292 us/op 1.58
browser block root to RootHex using toHex 146.99 ns/op 115.09 ns/op 1.28
browser block root to RootHex using toRootHex 129.93 ns/op 106.17 ns/op 1.22
browser fromHex(blob) 1.9517 ms/op 1.3495 ms/op 1.45
browser fromHexInto(blob) 652.63 us/op 438.36 us/op 1.49
browser block root to RootHex using the deprecated toHexString 469.35 ns/op 552.96 ns/op 0.85
browser byteArrayEquals 32 bytes (block root) 28.557 ns/op 18.302 ns/op 1.56
browser byteArrayEquals 48 bytes (pubkey) 40.193 ns/op 26.118 ns/op 1.54
browser byteArrayEquals 96 bytes (signature) 75.552 ns/op 49.144 ns/op 1.54
browser byteArrayEquals 1024 bytes 768.65 ns/op 509.59 ns/op 1.51
browser byteArrayEquals 131072 bytes (blob) 97.197 us/op 64.042 us/op 1.52

by benchmarkbot/action

@nflaig
nflaig merged commit d99080f into unstable Oct 5, 2026
23 of 24 checks passed
@nflaig
nflaig deleted the nflaig/payload-envelope-cache-doc branch October 5, 2026 13:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants