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
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