Skip to content

chore: add gloas ethspecify references - #9753

Merged
nflaig merged 2 commits into
unstablefrom
nflaig/fix-ethspecify-refs
Aug 4, 2026
Merged

chore: add gloas ethspecify references#9753
nflaig merged 2 commits into
unstablefrom
nflaig/fix-ethspecify-refs

Conversation

@nflaig

@nflaig nflaig commented Aug 3, 2026

Copy link
Copy Markdown
Member

This PR was written primarily by Codex.

@nflaig
nflaig marked this pull request as ready for review August 3, 2026 10:03
@nflaig
nflaig requested a review from a team as a code owner August 3, 2026 10:03

@nflaig nflaig left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

written by codex and upvoted by codex 馃槀 but LGTM

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Performance Report

鉁旓笍 no performance regression detected

Full benchmark results
Benchmark suite Current: 284b714 Previous: cae84b6 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.0405 ms/op 1.3213 ms/op 0.79
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 40.662 us/op 41.199 us/op 0.99
BLS verify - blst 756.14 us/op 783.89 us/op 0.96
BLS verifyMultipleSignatures 3 - blst 1.3648 ms/op 1.3795 ms/op 0.99
BLS verifyMultipleSignatures 8 - blst 2.1736 ms/op 2.1870 ms/op 0.99
BLS verifyMultipleSignatures 32 - blst 6.8664 ms/op 6.9897 ms/op 0.98
BLS verifyMultipleSignatures 64 - blst 13.426 ms/op 13.805 ms/op 0.97
BLS verifyMultipleSignatures 128 - blst 25.766 ms/op 26.036 ms/op 0.99
BLS deserializing 10000 signatures 643.31 ms/op 696.07 ms/op 0.92
BLS deserializing 100000 signatures 6.4055 s/op 6.8769 s/op 0.93
BLS verifyMultipleSignatures - same message - 3 - blst 773.41 us/op 811.28 us/op 0.95
BLS verifyMultipleSignatures - same message - 8 - blst 897.18 us/op 963.34 us/op 0.93
BLS verifyMultipleSignatures - same message - 32 - blst 1.5713 ms/op 1.5604 ms/op 1.01
BLS verifyMultipleSignatures - same message - 64 - blst 2.4181 ms/op 2.4622 ms/op 0.98
BLS verifyMultipleSignatures - same message - 128 - blst 4.0772 ms/op 4.1505 ms/op 0.98
BLS aggregatePubkeys 32 - blst 17.823 us/op 17.794 us/op 1.00
BLS aggregatePubkeys 128 - blst 63.388 us/op 63.382 us/op 1.00
getSlashingsAndExits - default max 51.762 us/op 50.375 us/op 1.03
getSlashingsAndExits - 2k 502.03 us/op 377.31 us/op 1.33
proposeBlockBody type=full, size=empty 750.84 us/op 766.41 us/op 0.98
isKnown best case - 1 super set check 173.00 ns/op 176.00 ns/op 0.98
isKnown normal case - 2 super set checks 175.00 ns/op 164.00 ns/op 1.07
isKnown worse case - 16 super set checks 176.00 ns/op 163.00 ns/op 1.08
validate api signedAggregateAndProof - struct 1.5300 ms/op 1.5427 ms/op 0.99
validate gossip signedAggregateAndProof - struct 1.5215 ms/op 1.5382 ms/op 0.99
batch validate gossip attestation - vc 640000 - chunk 32 109.33 us/op 107.64 us/op 1.02
batch validate gossip attestation - vc 640000 - chunk 64 96.604 us/op 93.464 us/op 1.03
batch validate gossip attestation - vc 640000 - chunk 128 90.119 us/op 87.474 us/op 1.03
batch validate gossip attestation - vc 640000 - chunk 256 86.477 us/op 83.311 us/op 1.04
bytes32 toHexString 283.00 ns/op 289.00 ns/op 0.98
bytes32 Buffer.toString(hex) 167.00 ns/op 167.00 ns/op 1.00
bytes32 Buffer.toString(hex) from Uint8Array 247.00 ns/op 234.00 ns/op 1.06
bytes32 Buffer.toString(hex) + 0x 173.00 ns/op 172.00 ns/op 1.01
Return object 10000 times 0.21500 ns/op 0.21450 ns/op 1.00
Throw Error 10000 times 3.3634 us/op 3.4112 us/op 0.99
toHex 116.97 ns/op 99.839 ns/op 1.17
Buffer.from 103.32 ns/op 89.679 ns/op 1.15
shared Buffer 62.465 ns/op 63.600 ns/op 0.98
fastMsgIdFn sha256 / 200 bytes 1.5200 us/op 1.4680 us/op 1.04
fastMsgIdFn h32 xxhash / 200 bytes 161.00 ns/op 154.00 ns/op 1.05
fastMsgIdFn h64 xxhash / 200 bytes 206.00 ns/op 231.00 ns/op 0.89
fastMsgIdFn sha256 / 1000 bytes 4.8720 us/op 4.8080 us/op 1.01
fastMsgIdFn h32 xxhash / 1000 bytes 246.00 ns/op 245.00 ns/op 1.00
fastMsgIdFn h64 xxhash / 1000 bytes 253.00 ns/op 253.00 ns/op 1.00
fastMsgIdFn sha256 / 10000 bytes 42.935 us/op 42.291 us/op 1.02
fastMsgIdFn h32 xxhash / 10000 bytes 1.2790 us/op 1.3380 us/op 0.96
fastMsgIdFn h64 xxhash / 10000 bytes 827.00 ns/op 880.00 ns/op 0.94
send data - 1000 256B messages 4.2875 ms/op 4.6133 ms/op 0.93
send data - 1000 512B messages 5.6281 ms/op 5.6682 ms/op 0.99
send data - 1000 1024B messages 5.6807 ms/op 5.4200 ms/op 1.05
send data - 1000 1200B messages 6.5028 ms/op 9.2144 ms/op 0.71
send data - 1000 2048B messages 17.987 ms/op 20.524 ms/op 0.88
send data - 1000 4096B messages 55.080 ms/op 119.45 ms/op 0.46
send data - 1000 16384B messages 306.80 ms/op 339.24 ms/op 0.90
send data - 1000 65536B messages 1.4468 s/op 1.5108 s/op 0.96
enrSubnets - fastDeserialize 64 bits 738.00 ns/op 757.00 ns/op 0.97
enrSubnets - ssz BitVector 64 bits 268.00 ns/op 263.00 ns/op 1.02
enrSubnets - fastDeserialize 4 bits 101.00 ns/op 96.000 ns/op 1.05
enrSubnets - ssz BitVector 4 bits 271.00 ns/op 266.00 ns/op 1.02
prioritizePeers score -10:0 att 32-0.1 sync 2-0 203.02 us/op 201.38 us/op 1.01
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 230.98 us/op 230.13 us/op 1.00
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 337.92 us/op 331.09 us/op 1.02
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 601.89 us/op 591.28 us/op 1.02
prioritizePeers score 0:0 att 64-1 sync 4-1 704.91 us/op 690.49 us/op 1.02
array of 16000 items push then shift 1.3093 us/op 1.3075 us/op 1.00
LinkedList of 16000 items push then shift 7.4870 ns/op 6.8310 ns/op 1.10
array of 16000 items push then pop 75.406 ns/op 68.475 ns/op 1.10
LinkedList of 16000 items push then pop 6.0780 ns/op 6.0010 ns/op 1.01
array of 24000 items push then shift 1.9312 us/op 1.9393 us/op 1.00
LinkedList of 24000 items push then shift 7.0500 ns/op 6.5780 ns/op 1.07
array of 24000 items push then pop 106.72 ns/op 95.239 ns/op 1.12
LinkedList of 24000 items push then pop 6.0880 ns/op 6.0470 ns/op 1.01
intersect bitArray bitLen 8 3.9060 ns/op 3.9120 ns/op 1.00
intersect array and set length 8 29.769 ns/op 30.019 ns/op 0.99
intersect bitArray bitLen 128 23.536 ns/op 23.555 ns/op 1.00
intersect array and set length 128 503.82 ns/op 503.76 ns/op 1.00
bitArray.getTrueBitIndexes() bitLen 128 959.00 ns/op 928.00 ns/op 1.03
bitArray.getTrueBitIndexes() bitLen 248 1.7150 us/op 1.6640 us/op 1.03
bitArray.getTrueBitIndexes() bitLen 512 3.6180 us/op 3.5090 us/op 1.03
Full columns - reconstruct all 6 blobs 264.28 us/op 188.71 us/op 1.40
Full columns - reconstruct half of the blobs out of 6 105.34 us/op 72.858 us/op 1.45
Full columns - reconstruct single blob out of 6 34.224 us/op 32.741 us/op 1.05
Half columns - reconstruct all 6 blobs 397.15 ms/op 385.88 ms/op 1.03
Half columns - reconstruct half of the blobs out of 6 191.57 ms/op 195.85 ms/op 0.98
Half columns - reconstruct single blob out of 6 67.587 ms/op 69.763 ms/op 0.97
Set add up to 64 items then delete first 1.6537 us/op 1.6815 us/op 0.98
OrderedSet add up to 64 items then delete first 2.5022 us/op 2.5333 us/op 0.99
Set add up to 64 items then delete last 1.8592 us/op 1.8921 us/op 0.98
OrderedSet add up to 64 items then delete last 2.7650 us/op 2.8121 us/op 0.98
Set add up to 64 items then delete middle 1.8667 us/op 1.8922 us/op 0.99
OrderedSet add up to 64 items then delete middle 4.2319 us/op 4.3004 us/op 0.98
Set add up to 128 items then delete first 3.7764 us/op 3.7887 us/op 1.00
OrderedSet add up to 128 items then delete first 5.7953 us/op 5.7929 us/op 1.00
Set add up to 128 items then delete last 3.6019 us/op 3.7757 us/op 0.95
OrderedSet add up to 128 items then delete last 5.4243 us/op 5.4196 us/op 1.00
Set add up to 128 items then delete middle 3.6086 us/op 3.6416 us/op 0.99
OrderedSet add up to 128 items then delete middle 11.293 us/op 11.343 us/op 1.00
Set add up to 256 items then delete first 7.6086 us/op 7.8472 us/op 0.97
OrderedSet add up to 256 items then delete first 11.702 us/op 12.387 us/op 0.94
Set add up to 256 items then delete last 7.0880 us/op 7.1955 us/op 0.99
OrderedSet add up to 256 items then delete last 10.982 us/op 11.391 us/op 0.96
Set add up to 256 items then delete middle 7.2430 us/op 7.3116 us/op 0.99
OrderedSet add up to 256 items then delete middle 34.937 us/op 35.325 us/op 0.99
runFastConfirmationRules vc:100000 bc:96 eq:0 4.4600 ms/op 5.7360 ms/op 0.78
runFastConfirmationRules vc:600000 bc:96 eq:0 46.170 ms/op 34.704 ms/op 1.33
runFastConfirmationRules vc:1000000 bc:96 eq:0 69.755 ms/op 57.868 ms/op 1.21
runFastConfirmationRules vc:600000 bc:320 eq:0 33.532 ms/op 34.917 ms/op 0.96
runFastConfirmationRules vc:100000 bc:96 eq:1000 1.0930 s/op 1.2857 s/op 0.85
pass gossip attestations to forkchoice per slot 2.5852 ms/op 2.6365 ms/op 0.98
forkChoice updateHead vc 100000 bc 64 eq 0 426.35 us/op 429.30 us/op 0.99
forkChoice updateHead vc 600000 bc 64 eq 0 2.5102 ms/op 2.5568 ms/op 0.98
forkChoice updateHead vc 1000000 bc 64 eq 0 4.2782 ms/op 4.2154 ms/op 1.01
forkChoice updateHead vc 600000 bc 320 eq 0 2.4919 ms/op 2.5412 ms/op 0.98
forkChoice updateHead vc 600000 bc 1200 eq 0 2.5503 ms/op 2.5738 ms/op 0.99
forkChoice updateHead vc 600000 bc 7200 eq 0 2.9019 ms/op 3.0221 ms/op 0.96
forkChoice updateHead vc 600000 bc 64 eq 1000 2.6240 ms/op 2.6705 ms/op 0.98
forkChoice updateHead vc 600000 bc 64 eq 10000 2.6809 ms/op 2.7830 ms/op 0.96
forkChoice updateHead vc 600000 bc 64 eq 300000 6.4655 ms/op 6.5625 ms/op 0.99
computeDeltas 1400000 validators 0% inactive 12.978 ms/op 13.093 ms/op 0.99
computeDeltas 1400000 validators 10% inactive 12.417 ms/op 12.239 ms/op 1.01
computeDeltas 1400000 validators 20% inactive 11.607 ms/op 11.578 ms/op 1.00
computeDeltas 1400000 validators 50% inactive 9.4198 ms/op 9.2188 ms/op 1.02
computeDeltas 2100000 validators 0% inactive 19.603 ms/op 19.122 ms/op 1.03
computeDeltas 2100000 validators 10% inactive 18.846 ms/op 18.206 ms/op 1.04
computeDeltas 2100000 validators 20% inactive 17.478 ms/op 17.362 ms/op 1.01
computeDeltas 2100000 validators 50% inactive 14.045 ms/op 13.964 ms/op 1.01
altair processAttestation - 250000 vs - 7PWei normalcase 1.6053 ms/op 1.6031 ms/op 1.00
altair processAttestation - 250000 vs - 7PWei worstcase 2.3882 ms/op 2.4303 ms/op 0.98
altair processAttestation - setStatus - 1/6 committees join 106.14 us/op 99.542 us/op 1.07
altair processAttestation - setStatus - 1/3 committees join 202.95 us/op 203.08 us/op 1.00
altair processAttestation - setStatus - 1/2 committees join 286.83 us/op 285.47 us/op 1.00
altair processAttestation - setStatus - 2/3 committees join 364.80 us/op 368.87 us/op 0.99
altair processAttestation - setStatus - 4/5 committees join 515.45 us/op 500.14 us/op 1.03
altair processAttestation - setStatus - 100% committees join 590.31 us/op 591.07 us/op 1.00
altair processBlock - 250000 vs - 7PWei normalcase 2.9253 ms/op 2.9231 ms/op 1.00
altair processBlock - 250000 vs - 7PWei normalcase hashState 11.730 ms/op 11.980 ms/op 0.98
altair processBlock - 250000 vs - 7PWei worstcase 20.067 ms/op 20.360 ms/op 0.99
altair processBlock - 250000 vs - 7PWei worstcase hashState 39.570 ms/op 40.699 ms/op 0.97
phase0 processBlock - 250000 vs - 7PWei normalcase 1.2962 ms/op 1.3383 ms/op 0.97
phase0 processBlock - 250000 vs - 7PWei worstcase 17.394 ms/op 17.387 ms/op 1.00
altair processEth1Data - 250000 vs - 7PWei normalcase 286.30 us/op 314.49 us/op 0.91
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:16 4.9750 us/op 3.6160 us/op 1.38
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:220 26.172 us/op 22.238 us/op 1.18
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:43 6.0570 us/op 6.4820 us/op 0.93
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:19 7.1170 us/op 4.4990 us/op 1.58
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1021 90.931 us/op 101.57 us/op 0.90
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11778 1.3692 ms/op 1.4358 ms/op 0.95
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.7957 ms/op 1.9006 ms/op 0.94
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.8030 ms/op 1.8793 ms/op 0.96
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.7137 ms/op 3.7384 ms/op 0.99
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.0315 ms/op 2.0744 ms/op 0.98
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.0013 ms/op 4.0258 ms/op 0.99
Tree 40 250000 create 304.99 ms/op 309.88 ms/op 0.98
Tree 40 250000 get(125000) 95.943 ns/op 102.83 ns/op 0.93
Tree 40 250000 set(125000) 1.0228 us/op 1.0458 us/op 0.98
Tree 40 250000 toArray() 9.2863 ms/op 9.4809 ms/op 0.98
Tree 40 250000 iterate all - toArray() + loop 9.3659 ms/op 9.6840 ms/op 0.97
Tree 40 250000 iterate all - get(i) 33.753 ms/op 35.625 ms/op 0.95
Array 250000 create 2.2501 ms/op 2.1359 ms/op 1.05
Array 250000 clone - spread 732.69 us/op 690.89 us/op 1.06
Array 250000 get(125000) 0.29400 ns/op 0.29500 ns/op 1.00
Array 250000 set(125000) 0.29900 ns/op 0.29800 ns/op 1.00
Array 250000 iterate all - loop 57.033 us/op 57.563 us/op 0.99
phase0 afterProcessEpoch - 250000 vs - 7PWei 38.482 ms/op 39.454 ms/op 0.98
Array.fill - length 1000000 2.4519 ms/op 2.2669 ms/op 1.08
Array push - length 1000000 8.2157 ms/op 7.9199 ms/op 1.04
Array.get 0.20600 ns/op 0.20333 ns/op 1.01
Uint8Array.get 0.24508 ns/op 0.24538 ns/op 1.00
phase0 beforeProcessEpoch - 250000 vs - 7PWei 11.782 ms/op 11.979 ms/op 0.98
altair processEpoch - mainnet_e81889 243.99 ms/op 241.53 ms/op 1.01
mainnet_e81889 - altair beforeProcessEpoch 14.686 ms/op 14.061 ms/op 1.04
mainnet_e81889 - altair processJustificationAndFinalization 6.4650 us/op 5.1870 us/op 1.25
mainnet_e81889 - altair processInactivityUpdates 3.5198 ms/op 3.5402 ms/op 0.99
mainnet_e81889 - altair processRewardsAndPenalties 17.013 ms/op 16.717 ms/op 1.02
mainnet_e81889 - altair processRegistryUpdates 567.00 ns/op 562.00 ns/op 1.01
mainnet_e81889 - altair processSlashings 151.00 ns/op 145.00 ns/op 1.04
mainnet_e81889 - altair processEth1DataReset 138.00 ns/op 138.00 ns/op 1.00
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.1900 ms/op 1.3458 ms/op 0.88
mainnet_e81889 - altair processSlashingsReset 711.00 ns/op 710.00 ns/op 1.00
mainnet_e81889 - altair processRandaoMixesReset 1.0680 us/op 1.0230 us/op 1.04
mainnet_e81889 - altair processHistoricalRootsUpdate 141.00 ns/op 141.00 ns/op 1.00
mainnet_e81889 - altair processParticipationFlagUpdates 446.00 ns/op 442.00 ns/op 1.01
mainnet_e81889 - altair processSyncCommitteeUpdates 118.00 ns/op 110.00 ns/op 1.07
mainnet_e81889 - altair afterProcessEpoch 41.666 ms/op 42.273 ms/op 0.99
capella processEpoch - mainnet_e217614 801.91 ms/op 739.38 ms/op 1.08
mainnet_e217614 - capella beforeProcessEpoch 57.905 ms/op 56.807 ms/op 1.02
mainnet_e217614 - capella processJustificationAndFinalization 5.3780 us/op 5.2760 us/op 1.02
mainnet_e217614 - capella processInactivityUpdates 10.842 ms/op 11.632 ms/op 0.93
mainnet_e217614 - capella processRewardsAndPenalties 85.931 ms/op 85.280 ms/op 1.01
mainnet_e217614 - capella processRegistryUpdates 4.5700 us/op 4.4460 us/op 1.03
mainnet_e217614 - capella processSlashings 152.00 ns/op 143.00 ns/op 1.06
mainnet_e217614 - capella processEth1DataReset 139.00 ns/op 136.00 ns/op 1.02
mainnet_e217614 - capella processEffectiveBalanceUpdates 5.4203 ms/op 5.6245 ms/op 0.96
mainnet_e217614 - capella processSlashingsReset 688.00 ns/op 676.00 ns/op 1.02
mainnet_e217614 - capella processRandaoMixesReset 1.0970 us/op 1.0570 us/op 1.04
mainnet_e217614 - capella processHistoricalRootsUpdate 142.00 ns/op 137.00 ns/op 1.04
mainnet_e217614 - capella processParticipationFlagUpdates 447.00 ns/op 442.00 ns/op 1.01
mainnet_e217614 - capella afterProcessEpoch 109.15 ms/op 109.46 ms/op 1.00
phase0 processEpoch - mainnet_e58758 267.93 ms/op 261.84 ms/op 1.02
mainnet_e58758 - phase0 beforeProcessEpoch 48.878 ms/op 55.796 ms/op 0.88
mainnet_e58758 - phase0 processJustificationAndFinalization 5.3440 us/op 5.7200 us/op 0.93
mainnet_e58758 - phase0 processRewardsAndPenalties 15.267 ms/op 14.809 ms/op 1.03
mainnet_e58758 - phase0 processRegistryUpdates 2.3310 us/op 2.3010 us/op 1.01
mainnet_e58758 - phase0 processSlashings 150.00 ns/op 143.00 ns/op 1.05
mainnet_e58758 - phase0 processEth1DataReset 139.00 ns/op 135.00 ns/op 1.03
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 959.64 us/op 1.1598 ms/op 0.83
mainnet_e58758 - phase0 processSlashingsReset 841.00 ns/op 834.00 ns/op 1.01
mainnet_e58758 - phase0 processRandaoMixesReset 1.2480 us/op 1.1740 us/op 1.06
mainnet_e58758 - phase0 processHistoricalRootsUpdate 143.00 ns/op 139.00 ns/op 1.03
mainnet_e58758 - phase0 processParticipationRecordUpdates 1.1510 us/op 1.0090 us/op 1.14
mainnet_e58758 - phase0 afterProcessEpoch 33.941 ms/op 33.672 ms/op 1.01
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.1329 ms/op 1.0918 ms/op 1.04
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.6611 ms/op 1.6316 ms/op 1.02
altair processInactivityUpdates - 250000 normalcase 11.806 ms/op 10.452 ms/op 1.13
altair processInactivityUpdates - 250000 worstcase 11.568 ms/op 10.430 ms/op 1.11
phase0 processRegistryUpdates - 250000 normalcase 2.1270 us/op 2.3420 us/op 0.91
phase0 processRegistryUpdates - 250000 badcase_full_deposits 146.96 us/op 142.94 us/op 1.03
phase0 processRegistryUpdates - 250000 worstcase 0.5 60.946 ms/op 53.058 ms/op 1.15
altair processRewardsAndPenalties - 250000 normalcase 13.492 ms/op 13.127 ms/op 1.03
altair processRewardsAndPenalties - 250000 worstcase 13.175 ms/op 12.470 ms/op 1.06
phase0 getAttestationDeltas - 250000 normalcase 5.8071 ms/op 5.4389 ms/op 1.07
phase0 getAttestationDeltas - 250000 worstcase 5.8557 ms/op 5.5022 ms/op 1.06
phase0 processSlashings - 250000 worstcase 64.986 us/op 60.603 us/op 1.07
altair processSyncCommitteeUpdates - 250000 10.725 ms/op 10.151 ms/op 1.06
BeaconState.hashTreeRoot - No change 180.00 ns/op 173.00 ns/op 1.04
BeaconState.hashTreeRoot - 1 full validator 72.938 us/op 56.270 us/op 1.30
BeaconState.hashTreeRoot - 32 full validator 755.85 us/op 643.28 us/op 1.17
BeaconState.hashTreeRoot - 512 full validator 6.0034 ms/op 6.0530 ms/op 0.99
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 70.754 us/op 72.206 us/op 0.98
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.0586 ms/op 1.0200 ms/op 1.04
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 13.002 ms/op 13.193 ms/op 0.99
BeaconState.hashTreeRoot - 1 balances 74.180 us/op 54.848 us/op 1.35
BeaconState.hashTreeRoot - 32 balances 563.34 us/op 551.61 us/op 1.02
BeaconState.hashTreeRoot - 512 balances 4.6876 ms/op 4.7189 ms/op 0.99
BeaconState.hashTreeRoot - 250000 balances 102.38 ms/op 90.273 ms/op 1.13
aggregationBits - 2048 els - zipIndexesInBitList 19.166 us/op 19.164 us/op 1.00
regular array get 100000 times 22.864 us/op 22.897 us/op 1.00
wrappedArray get 100000 times 22.861 us/op 22.778 us/op 1.00
arrayWithProxy get 100000 times 13.896 ms/op 10.839 ms/op 1.28
ssz.Root.equals 21.702 ns/op 21.529 ns/op 1.01
byteArrayEquals 21.582 ns/op 21.300 ns/op 1.01
Buffer.compare 8.9850 ns/op 9.0040 ns/op 1.00
processSlot - 1 slots 8.3520 us/op 8.1000 us/op 1.03
processSlot - 32 slots 1.5792 ms/op 1.5581 ms/op 1.01
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 3.4285 ms/op 3.6599 ms/op 0.94
getCommitteeAssignments - req 1 vs - 250000 vc 1.6955 ms/op 1.6790 ms/op 1.01
getCommitteeAssignments - req 100 vs - 250000 vc 3.4640 ms/op 3.4250 ms/op 1.01
getCommitteeAssignments - req 1000 vs - 250000 vc 3.7216 ms/op 3.6891 ms/op 1.01
findModifiedValidators - 10000 modified validators 788.71 ms/op 707.67 ms/op 1.11
findModifiedValidators - 1000 modified validators 551.85 ms/op 497.62 ms/op 1.11
findModifiedValidators - 100 modified validators 361.06 ms/op 327.92 ms/op 1.10
findModifiedValidators - 10 modified validators 293.52 ms/op 282.30 ms/op 1.04
findModifiedValidators - 1 modified validators 277.42 ms/op 199.36 ms/op 1.39
findModifiedValidators - no difference 194.14 ms/op 189.46 ms/op 1.02
migrate state 1500000 validators, 3400 modified, 2000 new 2.8154 s/op 2.8672 s/op 0.98
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 3.4700 ns/op 3.6900 ns/op 0.94
state getBlockRootAtSlot - 250000 vs - 7PWei 390.10 ns/op 271.86 ns/op 1.43
computeProposerIndex 100000 validators 1.3560 ms/op 1.3223 ms/op 1.03
getNextSyncCommitteeIndices 1000 validators 2.9033 ms/op 2.8905 ms/op 1.00
getNextSyncCommitteeIndices 10000 validators 25.239 ms/op 25.232 ms/op 1.00
getNextSyncCommitteeIndices 100000 validators 89.486 ms/op 89.451 ms/op 1.00
computeProposers - vc 250000 578.20 us/op 557.10 us/op 1.04
computeEpochShuffling - vc 250000 41.715 ms/op 40.477 ms/op 1.03
getNextSyncCommittee - vc 250000 9.7025 ms/op 9.5494 ms/op 1.02
nodejs block root to RootHex using toHex 112.39 ns/op 102.98 ns/op 1.09
nodejs block root to RootHex using toRootHex 67.081 ns/op 67.533 ns/op 0.99
nodejs fromHex(blob) 757.44 us/op 775.94 us/op 0.98
nodejs fromHexInto(blob) 662.70 us/op 645.64 us/op 1.03
nodejs block root to RootHex using the deprecated toHexString 494.90 ns/op 502.56 ns/op 0.98
nodejs byteArrayEquals 32 bytes (block root) 25.891 ns/op 26.312 ns/op 0.98
nodejs byteArrayEquals 48 bytes (pubkey) 38.005 ns/op 37.244 ns/op 1.02
nodejs byteArrayEquals 96 bytes (signature) 37.202 ns/op 40.086 ns/op 0.93
nodejs byteArrayEquals 1024 bytes 44.118 ns/op 45.592 ns/op 0.97
nodejs byteArrayEquals 131072 bytes (blob) 1.7500 us/op 1.7575 us/op 1.00
browser block root to RootHex using toHex 145.50 ns/op 146.59 ns/op 0.99
browser block root to RootHex using toRootHex 130.81 ns/op 130.89 ns/op 1.00
browser fromHex(blob) 1.5628 ms/op 1.6023 ms/op 0.98
browser fromHexInto(blob) 659.24 us/op 668.20 us/op 0.99
browser block root to RootHex using the deprecated toHexString 339.29 ns/op 340.30 ns/op 1.00
browser byteArrayEquals 32 bytes (block root) 27.972 ns/op 28.114 ns/op 0.99
browser byteArrayEquals 48 bytes (pubkey) 39.406 ns/op 39.791 ns/op 0.99
browser byteArrayEquals 96 bytes (signature) 73.734 ns/op 73.759 ns/op 1.00
browser byteArrayEquals 1024 bytes 751.21 ns/op 754.29 ns/op 1.00
browser byteArrayEquals 131072 bytes (blob) 94.845 us/op 94.883 us/op 1.00

by benchmarkbot/action

@nflaig
nflaig merged commit 4c192bd into unstable Aug 4, 2026
23 of 25 checks passed
@nflaig
nflaig deleted the nflaig/fix-ethspecify-refs branch August 4, 2026 05:20
@wemeetagain

Copy link
Copy Markdown
Member

馃帀 This PR is included in v1.46.0 馃帀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants