Skip to content

Conversation

@wemeetagain
Copy link
Member

@wemeetagain wemeetagain requested a review from a team as a code owner August 12, 2025 21:03
Copy link
Member

@nflaig nflaig left a comment

Choose a reason for hiding this comment

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

seems like there are build issues, otherwise lgtm

@codecov
Copy link

codecov bot commented Aug 13, 2025

Codecov Report

❌ Patch coverage is 33.33333% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 54.22%. Comparing base (ee99d3f) to head (cc88b87).
⚠️ Report is 3 commits behind head on unstable.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #8190      +/-   ##
============================================
- Coverage     54.25%   54.22%   -0.03%     
============================================
  Files           843      843              
  Lines         63362    63401      +39     
  Branches       4795     4794       -1     
============================================
+ Hits          34374    34377       +3     
- Misses        28913    28949      +36     
  Partials         75       75              
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 26024ec Previous: ee99d3f Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 771.01 us/op 768.84 us/op 1.00
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 31.573 us/op 28.801 us/op 1.10
BLS verify - blst 945.93 us/op 840.75 us/op 1.13
BLS verifyMultipleSignatures 3 - blst 1.3385 ms/op 1.3554 ms/op 0.99
BLS verifyMultipleSignatures 8 - blst 2.3461 ms/op 2.0672 ms/op 1.13
BLS verifyMultipleSignatures 32 - blst 4.6240 ms/op 4.4808 ms/op 1.03
BLS verifyMultipleSignatures 64 - blst 8.7823 ms/op 8.3589 ms/op 1.05
BLS verifyMultipleSignatures 128 - blst 16.430 ms/op 15.943 ms/op 1.03
BLS deserializing 10000 signatures 640.61 ms/op 637.67 ms/op 1.00
BLS deserializing 100000 signatures 6.3284 s/op 6.5210 s/op 0.97
BLS verifyMultipleSignatures - same message - 3 - blst 968.04 us/op 999.61 us/op 0.97
BLS verifyMultipleSignatures - same message - 8 - blst 1.0950 ms/op 1.0257 ms/op 1.07
BLS verifyMultipleSignatures - same message - 32 - blst 1.7071 ms/op 1.6635 ms/op 1.03
BLS verifyMultipleSignatures - same message - 64 - blst 2.5344 ms/op 2.4828 ms/op 1.02
BLS verifyMultipleSignatures - same message - 128 - blst 4.0521 ms/op 4.2213 ms/op 0.96
BLS aggregatePubkeys 32 - blst 17.907 us/op 17.978 us/op 1.00
BLS aggregatePubkeys 128 - blst 62.796 us/op 64.995 us/op 0.97
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 53.185 ms/op 37.661 ms/op 1.41
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 47.169 ms/op 44.697 ms/op 1.06
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 32.929 ms/op 34.682 ms/op 0.95
getSlashingsAndExits - default max 51.502 us/op 51.419 us/op 1.00
getSlashingsAndExits - 2k 312.36 us/op 370.67 us/op 0.84
proposeBlockBody type=full, size=empty 4.9549 ms/op 5.8195 ms/op 0.85
isKnown best case - 1 super set check 425.00 ns/op 420.00 ns/op 1.01
isKnown normal case - 2 super set checks 422.00 ns/op 420.00 ns/op 1.00
isKnown worse case - 16 super set checks 422.00 ns/op 421.00 ns/op 1.00
InMemoryCheckpointStateCache - add get delete 2.5760 us/op 2.5920 us/op 0.99
validate api signedAggregateAndProof - struct 1.5134 ms/op 1.7589 ms/op 0.86
validate gossip signedAggregateAndProof - struct 1.5011 ms/op 1.8571 ms/op 0.81
batch validate gossip attestation - vc 640000 - chunk 32 112.78 us/op 110.27 us/op 1.02
batch validate gossip attestation - vc 640000 - chunk 64 98.717 us/op 97.741 us/op 1.01
batch validate gossip attestation - vc 640000 - chunk 128 91.252 us/op 93.402 us/op 0.98
batch validate gossip attestation - vc 640000 - chunk 256 97.622 us/op 96.842 us/op 1.01
pickEth1Vote - no votes 818.57 us/op 797.97 us/op 1.03
pickEth1Vote - max votes 6.2881 ms/op 7.4245 ms/op 0.85
pickEth1Vote - Eth1Data hashTreeRoot value x2048 10.353 ms/op 11.864 ms/op 0.87
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 21.837 ms/op 22.489 ms/op 0.97
pickEth1Vote - Eth1Data fastSerialize value x2048 364.01 us/op 351.74 us/op 1.03
pickEth1Vote - Eth1Data fastSerialize tree x2048 1.9540 ms/op 3.1452 ms/op 0.62
bytes32 toHexString 560.00 ns/op 538.00 ns/op 1.04
bytes32 Buffer.toString(hex) 458.00 ns/op 447.00 ns/op 1.02
bytes32 Buffer.toString(hex) from Uint8Array 543.00 ns/op 520.00 ns/op 1.04
bytes32 Buffer.toString(hex) + 0x 461.00 ns/op 443.00 ns/op 1.04
Object access 1 prop 0.33500 ns/op 0.32800 ns/op 1.02
Map access 1 prop 0.34500 ns/op 0.33100 ns/op 1.04
Object get x1000 5.3170 ns/op 5.1430 ns/op 1.03
Map get x1000 5.9360 ns/op 5.7800 ns/op 1.03
Object set x1000 20.594 ns/op 25.361 ns/op 0.81
Map set x1000 18.422 ns/op 18.924 ns/op 0.97
Return object 10000 times 0.30980 ns/op 0.29740 ns/op 1.04
Throw Error 10000 times 3.7551 us/op 3.6538 us/op 1.03
toHex 104.02 ns/op 100.19 ns/op 1.04
Buffer.from 94.822 ns/op 91.431 ns/op 1.04
shared Buffer 68.291 ns/op 65.912 ns/op 1.04
fastMsgIdFn sha256 / 200 bytes 2.0240 us/op 2.0450 us/op 0.99
fastMsgIdFn h32 xxhash / 200 bytes 413.00 ns/op 404.00 ns/op 1.02
fastMsgIdFn h64 xxhash / 200 bytes 569.00 ns/op 464.00 ns/op 1.23
fastMsgIdFn sha256 / 1000 bytes 6.0170 us/op 5.9340 us/op 1.01
fastMsgIdFn h32 xxhash / 1000 bytes 540.00 ns/op 526.00 ns/op 1.03
fastMsgIdFn h64 xxhash / 1000 bytes 540.00 ns/op 530.00 ns/op 1.02
fastMsgIdFn sha256 / 10000 bytes 51.087 us/op 49.287 us/op 1.04
fastMsgIdFn h32 xxhash / 10000 bytes 2.0040 us/op 1.9410 us/op 1.03
fastMsgIdFn h64 xxhash / 10000 bytes 1.4160 us/op 1.3660 us/op 1.04
send data - 1000 256B messages 15.516 ms/op 17.316 ms/op 0.90
send data - 1000 512B messages 18.962 ms/op 21.782 ms/op 0.87
send data - 1000 1024B messages 25.687 ms/op 25.482 ms/op 1.01
send data - 1000 1200B messages 19.087 ms/op 20.623 ms/op 0.93
send data - 1000 2048B messages 22.367 ms/op 22.203 ms/op 1.01
send data - 1000 4096B messages 20.683 ms/op 29.426 ms/op 0.70
send data - 1000 16384B messages 39.052 ms/op 38.293 ms/op 1.02
send data - 1000 65536B messages 109.29 ms/op 79.861 ms/op 1.37
enrSubnets - fastDeserialize 64 bits 1.0020 us/op 989.00 ns/op 1.01
enrSubnets - ssz BitVector 64 bits 517.00 ns/op 500.00 ns/op 1.03
enrSubnets - fastDeserialize 4 bits 346.00 ns/op 333.00 ns/op 1.04
enrSubnets - ssz BitVector 4 bits 534.00 ns/op 500.00 ns/op 1.07
prioritizePeers score -10:0 att 32-0.1 sync 2-0 113.82 us/op 103.64 us/op 1.10
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 138.82 us/op 130.53 us/op 1.06
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 223.18 us/op 210.45 us/op 1.06
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 388.80 us/op 386.01 us/op 1.01
prioritizePeers score 0:0 att 64-1 sync 4-1 475.19 us/op 482.83 us/op 0.98
array of 16000 items push then shift 1.3483 us/op 1.3400 us/op 1.01
LinkedList of 16000 items push then shift 7.3980 ns/op 6.3700 ns/op 1.16
array of 16000 items push then pop 74.678 ns/op 64.846 ns/op 1.15
LinkedList of 16000 items push then pop 6.5100 ns/op 6.2090 ns/op 1.05
array of 24000 items push then shift 2.0008 us/op 1.9271 us/op 1.04
LinkedList of 24000 items push then shift 6.8240 ns/op 6.7250 ns/op 1.01
array of 24000 items push then pop 101.60 ns/op 102.18 ns/op 0.99
LinkedList of 24000 items push then pop 6.6170 ns/op 6.3660 ns/op 1.04
intersect bitArray bitLen 8 6.3340 ns/op 5.4710 ns/op 1.16
intersect array and set length 8 34.235 ns/op 32.834 ns/op 1.04
intersect bitArray bitLen 128 27.989 ns/op 26.901 ns/op 1.04
intersect array and set length 128 573.11 ns/op 549.11 ns/op 1.04
bitArray.getTrueBitIndexes() bitLen 128 1.2350 us/op 1.1810 us/op 1.05
bitArray.getTrueBitIndexes() bitLen 248 2.0310 us/op 1.8820 us/op 1.08
bitArray.getTrueBitIndexes() bitLen 512 3.9890 us/op 3.7190 us/op 1.07
Buffer.concat 32 items 953.00 ns/op 752.00 ns/op 1.27
Uint8Array.set 32 items 1.3600 us/op 1.2170 us/op 1.12
Buffer.copy 2.4140 us/op 2.4350 us/op 0.99
Uint8Array.set - with subarray 1.6430 us/op 1.7760 us/op 0.93
Uint8Array.set - without subarray 1.1130 us/op 1.1550 us/op 0.96
getUint32 - dataview 394.00 ns/op 388.00 ns/op 1.02
getUint32 - manual 333.00 ns/op 323.00 ns/op 1.03
Set add up to 64 items then delete first 2.0384 us/op 1.7712 us/op 1.15
OrderedSet add up to 64 items then delete first 3.0799 us/op 2.7681 us/op 1.11
Set add up to 64 items then delete last 2.3104 us/op 2.1367 us/op 1.08
OrderedSet add up to 64 items then delete last 3.4231 us/op 3.0613 us/op 1.12
Set add up to 64 items then delete middle 2.2320 us/op 2.0697 us/op 1.08
OrderedSet add up to 64 items then delete middle 4.9313 us/op 4.6166 us/op 1.07
Set add up to 128 items then delete first 4.2916 us/op 4.1721 us/op 1.03
OrderedSet add up to 128 items then delete first 6.8702 us/op 6.6090 us/op 1.04
Set add up to 128 items then delete last 4.1755 us/op 4.3363 us/op 0.96
OrderedSet add up to 128 items then delete last 6.6235 us/op 6.1740 us/op 1.07
Set add up to 128 items then delete middle 4.2181 us/op 4.0023 us/op 1.05
OrderedSet add up to 128 items then delete middle 16.369 us/op 12.191 us/op 1.34
Set add up to 256 items then delete first 8.5746 us/op 8.0472 us/op 1.07
OrderedSet add up to 256 items then delete first 13.846 us/op 12.848 us/op 1.08
Set add up to 256 items then delete last 8.2734 us/op 7.7724 us/op 1.06
OrderedSet add up to 256 items then delete last 13.073 us/op 12.019 us/op 1.09
Set add up to 256 items then delete middle 8.9173 us/op 7.8531 us/op 1.14
OrderedSet add up to 256 items then delete middle 41.422 us/op 38.815 us/op 1.07
transfer serialized Status (84 B) 2.0430 us/op 2.0250 us/op 1.01
copy serialized Status (84 B) 1.2380 us/op 1.3610 us/op 0.91
transfer serialized SignedVoluntaryExit (112 B) 2.0150 us/op 2.0480 us/op 0.98
copy serialized SignedVoluntaryExit (112 B) 1.4630 us/op 1.3450 us/op 1.09
transfer serialized ProposerSlashing (416 B) 2.1080 us/op 2.4000 us/op 0.88
copy serialized ProposerSlashing (416 B) 1.3870 us/op 1.5490 us/op 0.90
transfer serialized Attestation (485 B) 2.1840 us/op 2.0530 us/op 1.06
copy serialized Attestation (485 B) 1.8270 us/op 1.5280 us/op 1.20
transfer serialized AttesterSlashing (33232 B) 2.2310 us/op 2.2560 us/op 0.99
copy serialized AttesterSlashing (33232 B) 4.5740 us/op 3.3480 us/op 1.37
transfer serialized Small SignedBeaconBlock (128000 B) 2.3720 us/op 2.1330 us/op 1.11
copy serialized Small SignedBeaconBlock (128000 B) 8.2130 us/op 5.5400 us/op 1.48
transfer serialized Avg SignedBeaconBlock (200000 B) 2.4620 us/op 2.3900 us/op 1.03
copy serialized Avg SignedBeaconBlock (200000 B) 10.657 us/op 8.6160 us/op 1.24
transfer serialized BlobsSidecar (524380 B) 3.0410 us/op 3.1600 us/op 0.96
copy serialized BlobsSidecar (524380 B) 84.948 us/op 77.598 us/op 1.09
transfer serialized Big SignedBeaconBlock (1000000 B) 3.6820 us/op 3.7260 us/op 0.99
copy serialized Big SignedBeaconBlock (1000000 B) 165.94 us/op 255.14 us/op 0.65
pass gossip attestations to forkchoice per slot 2.5115 ms/op 3.1009 ms/op 0.81
forkChoice updateHead vc 100000 bc 64 eq 0 359.23 us/op 362.73 us/op 0.99
forkChoice updateHead vc 600000 bc 64 eq 0 2.2219 ms/op 2.1789 ms/op 1.02
forkChoice updateHead vc 1000000 bc 64 eq 0 3.8175 ms/op 4.6748 ms/op 0.82
forkChoice updateHead vc 600000 bc 320 eq 0 2.2188 ms/op 2.9247 ms/op 0.76
forkChoice updateHead vc 600000 bc 1200 eq 0 2.2726 ms/op 2.7617 ms/op 0.82
forkChoice updateHead vc 600000 bc 7200 eq 0 2.6734 ms/op 2.7859 ms/op 0.96
forkChoice updateHead vc 600000 bc 64 eq 1000 10.058 ms/op 9.4914 ms/op 1.06
forkChoice updateHead vc 600000 bc 64 eq 10000 10.087 ms/op 9.3189 ms/op 1.08
forkChoice updateHead vc 600000 bc 64 eq 300000 12.382 ms/op 11.126 ms/op 1.11
computeDeltas 500000 validators 300 proto nodes 3.2813 ms/op 3.3401 ms/op 0.98
computeDeltas 500000 validators 1200 proto nodes 3.3237 ms/op 3.3599 ms/op 0.99
computeDeltas 500000 validators 7200 proto nodes 3.3178 ms/op 3.1308 ms/op 1.06
computeDeltas 750000 validators 300 proto nodes 4.8603 ms/op 4.7186 ms/op 1.03
computeDeltas 750000 validators 1200 proto nodes 4.8599 ms/op 4.7857 ms/op 1.02
computeDeltas 750000 validators 7200 proto nodes 4.8347 ms/op 4.7445 ms/op 1.02
computeDeltas 1400000 validators 300 proto nodes 9.2832 ms/op 8.9989 ms/op 1.03
computeDeltas 1400000 validators 1200 proto nodes 9.8121 ms/op 9.1301 ms/op 1.07
computeDeltas 1400000 validators 7200 proto nodes 9.7953 ms/op 9.1943 ms/op 1.07
computeDeltas 2100000 validators 300 proto nodes 13.497 ms/op 14.403 ms/op 0.94
computeDeltas 2100000 validators 1200 proto nodes 13.646 ms/op 14.069 ms/op 0.97
computeDeltas 2100000 validators 7200 proto nodes 13.869 ms/op 13.762 ms/op 1.01
altair processAttestation - 250000 vs - 7PWei normalcase 2.4135 ms/op 2.2620 ms/op 1.07
altair processAttestation - 250000 vs - 7PWei worstcase 2.6036 ms/op 2.9472 ms/op 0.88
altair processAttestation - setStatus - 1/6 committees join 100.78 us/op 103.29 us/op 0.98
altair processAttestation - setStatus - 1/3 committees join 194.80 us/op 192.70 us/op 1.01
altair processAttestation - setStatus - 1/2 committees join 282.94 us/op 285.96 us/op 0.99
altair processAttestation - setStatus - 2/3 committees join 377.51 us/op 368.63 us/op 1.02
altair processAttestation - setStatus - 4/5 committees join 528.27 us/op 511.51 us/op 1.03
altair processAttestation - setStatus - 100% committees join 621.63 us/op 612.64 us/op 1.01
altair processBlock - 250000 vs - 7PWei normalcase 4.7209 ms/op 3.3786 ms/op 1.40
altair processBlock - 250000 vs - 7PWei normalcase hashState 29.424 ms/op 30.539 ms/op 0.96
altair processBlock - 250000 vs - 7PWei worstcase 35.894 ms/op 32.566 ms/op 1.10
altair processBlock - 250000 vs - 7PWei worstcase hashState 85.066 ms/op 65.959 ms/op 1.29
phase0 processBlock - 250000 vs - 7PWei normalcase 2.0085 ms/op 1.2233 ms/op 1.64
phase0 processBlock - 250000 vs - 7PWei worstcase 26.880 ms/op 21.299 ms/op 1.26
altair processEth1Data - 250000 vs - 7PWei normalcase 281.48 us/op 280.51 us/op 1.00
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 5.5890 us/op 5.2880 us/op 1.06
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 38.520 us/op 34.574 us/op 1.11
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 13.129 us/op 9.3280 us/op 1.41
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 3.3460 us/op 5.7940 us/op 0.58
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 161.12 us/op 154.04 us/op 1.05
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.4684 ms/op 1.3558 ms/op 1.08
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.8831 ms/op 1.8121 ms/op 1.04
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.9328 ms/op 1.8181 ms/op 1.06
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.7536 ms/op 3.6453 ms/op 1.03
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.8979 ms/op 1.8387 ms/op 1.03
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.9714 ms/op 3.7619 ms/op 1.06
Tree 40 250000 create 376.87 ms/op 366.61 ms/op 1.03
Tree 40 250000 get(125000) 110.14 ns/op 108.73 ns/op 1.01
Tree 40 250000 set(125000) 1.2535 us/op 1.2231 us/op 1.02
Tree 40 250000 toArray() 9.6026 ms/op 10.950 ms/op 0.88
Tree 40 250000 iterate all - toArray() + loop 9.7720 ms/op 11.220 ms/op 0.87
Tree 40 250000 iterate all - get(i) 44.281 ms/op 48.620 ms/op 0.91
Array 250000 create 2.0307 ms/op 2.3918 ms/op 0.85
Array 250000 clone - spread 655.15 us/op 635.51 us/op 1.03
Array 250000 get(125000) 0.59700 ns/op 0.56800 ns/op 1.05
Array 250000 set(125000) 0.61200 ns/op 0.59700 ns/op 1.03
Array 250000 iterate all - loop 78.709 us/op 76.995 us/op 1.02
phase0 afterProcessEpoch - 250000 vs - 7PWei 39.193 ms/op 38.436 ms/op 1.02
Array.fill - length 1000000 2.5502 ms/op 2.4763 ms/op 1.03
Array push - length 1000000 11.375 ms/op 9.6303 ms/op 1.18
Array.get 0.26446 ns/op 0.26641 ns/op 0.99
Uint8Array.get 0.34691 ns/op 0.34837 ns/op 1.00
phase0 beforeProcessEpoch - 250000 vs - 7PWei 14.364 ms/op 14.436 ms/op 0.99
altair processEpoch - mainnet_e81889 229.12 ms/op 263.53 ms/op 0.87
mainnet_e81889 - altair beforeProcessEpoch 14.955 ms/op 15.880 ms/op 0.94
mainnet_e81889 - altair processJustificationAndFinalization 6.2950 us/op 4.7190 us/op 1.33
mainnet_e81889 - altair processInactivityUpdates 3.4211 ms/op 3.7631 ms/op 0.91
mainnet_e81889 - altair processRewardsAndPenalties 30.536 ms/op 35.191 ms/op 0.87
mainnet_e81889 - altair processRegistryUpdates 853.00 ns/op 944.00 ns/op 0.90
mainnet_e81889 - altair processSlashings 411.00 ns/op 413.00 ns/op 1.00
mainnet_e81889 - altair processEth1DataReset 407.00 ns/op 438.00 ns/op 0.93
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.1380 ms/op 982.51 us/op 1.16
mainnet_e81889 - altair processSlashingsReset 1.0590 us/op 1.1680 us/op 0.91
mainnet_e81889 - altair processRandaoMixesReset 1.3520 us/op 1.4070 us/op 0.96
mainnet_e81889 - altair processHistoricalRootsUpdate 400.00 ns/op 406.00 ns/op 0.99
mainnet_e81889 - altair processParticipationFlagUpdates 700.00 ns/op 708.00 ns/op 0.99
mainnet_e81889 - altair processSyncCommitteeUpdates 363.00 ns/op 358.00 ns/op 1.01
mainnet_e81889 - altair afterProcessEpoch 40.852 ms/op 39.496 ms/op 1.03
capella processEpoch - mainnet_e217614 926.78 ms/op 916.42 ms/op 1.01
mainnet_e217614 - capella beforeProcessEpoch 57.797 ms/op 67.136 ms/op 0.86
mainnet_e217614 - capella processJustificationAndFinalization 5.3620 us/op 4.4200 us/op 1.21
mainnet_e217614 - capella processInactivityUpdates 12.164 ms/op 13.588 ms/op 0.90
mainnet_e217614 - capella processRewardsAndPenalties 193.43 ms/op 194.07 ms/op 1.00
mainnet_e217614 - capella processRegistryUpdates 6.7210 us/op 5.4130 us/op 1.24
mainnet_e217614 - capella processSlashings 435.00 ns/op 406.00 ns/op 1.07
mainnet_e217614 - capella processEth1DataReset 407.00 ns/op 403.00 ns/op 1.01
mainnet_e217614 - capella processEffectiveBalanceUpdates 15.006 ms/op 3.4878 ms/op 4.30
mainnet_e217614 - capella processSlashingsReset 1.2410 us/op 1.2140 us/op 1.02
mainnet_e217614 - capella processRandaoMixesReset 1.3900 us/op 1.6010 us/op 0.87
mainnet_e217614 - capella processHistoricalRootsUpdate 399.00 ns/op 418.00 ns/op 0.95
mainnet_e217614 - capella processParticipationFlagUpdates 719.00 ns/op 731.00 ns/op 0.98
mainnet_e217614 - capella afterProcessEpoch 107.80 ms/op 106.96 ms/op 1.01
phase0 processEpoch - mainnet_e58758 319.59 ms/op 294.99 ms/op 1.08
mainnet_e58758 - phase0 beforeProcessEpoch 68.856 ms/op 78.272 ms/op 0.88
mainnet_e58758 - phase0 processJustificationAndFinalization 5.8340 us/op 5.5580 us/op 1.05
mainnet_e58758 - phase0 processRewardsAndPenalties 37.313 ms/op 38.022 ms/op 0.98
mainnet_e58758 - phase0 processRegistryUpdates 2.8810 us/op 2.8570 us/op 1.01
mainnet_e58758 - phase0 processSlashings 411.00 ns/op 409.00 ns/op 1.00
mainnet_e58758 - phase0 processEth1DataReset 409.00 ns/op 397.00 ns/op 1.03
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.2585 ms/op 918.45 us/op 1.37
mainnet_e58758 - phase0 processSlashingsReset 1.2790 us/op 1.0520 us/op 1.22
mainnet_e58758 - phase0 processRandaoMixesReset 1.5830 us/op 1.3170 us/op 1.20
mainnet_e58758 - phase0 processHistoricalRootsUpdate 413.00 ns/op 408.00 ns/op 1.01
mainnet_e58758 - phase0 processParticipationRecordUpdates 1.1840 us/op 1.2710 us/op 0.93
mainnet_e58758 - phase0 afterProcessEpoch 33.631 ms/op 33.370 ms/op 1.01
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.0650 ms/op 992.33 us/op 1.07
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.4696 ms/op 1.7337 ms/op 0.85
altair processInactivityUpdates - 250000 normalcase 16.100 ms/op 16.878 ms/op 0.95
altair processInactivityUpdates - 250000 worstcase 15.256 ms/op 19.826 ms/op 0.77
phase0 processRegistryUpdates - 250000 normalcase 5.8350 us/op 4.8260 us/op 1.21
phase0 processRegistryUpdates - 250000 badcase_full_deposits 314.86 us/op 275.96 us/op 1.14
phase0 processRegistryUpdates - 250000 worstcase 0.5 119.58 ms/op 85.074 ms/op 1.41
altair processRewardsAndPenalties - 250000 normalcase 29.341 ms/op 23.969 ms/op 1.22
altair processRewardsAndPenalties - 250000 worstcase 23.629 ms/op 25.491 ms/op 0.93
phase0 getAttestationDeltas - 250000 normalcase 5.4128 ms/op 5.7704 ms/op 0.94
phase0 getAttestationDeltas - 250000 worstcase 5.6696 ms/op 15.686 ms/op 0.36
phase0 processSlashings - 250000 worstcase 94.568 us/op 83.877 us/op 1.13
altair processSyncCommitteeUpdates - 250000 9.9644 ms/op 9.4388 ms/op 1.06
BeaconState.hashTreeRoot - No change 446.00 ns/op 424.00 ns/op 1.05
BeaconState.hashTreeRoot - 1 full validator 69.929 us/op 57.908 us/op 1.21
BeaconState.hashTreeRoot - 32 full validator 883.16 us/op 618.78 us/op 1.43
BeaconState.hashTreeRoot - 512 full validator 7.7886 ms/op 7.3039 ms/op 1.07
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 81.918 us/op 70.422 us/op 1.16
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.1999 ms/op 1.0637 ms/op 1.13
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 19.492 ms/op 14.977 ms/op 1.30
BeaconState.hashTreeRoot - 1 balances 59.597 us/op 56.744 us/op 1.05
BeaconState.hashTreeRoot - 32 balances 558.95 us/op 525.42 us/op 1.06
BeaconState.hashTreeRoot - 512 balances 6.3718 ms/op 5.5935 ms/op 1.14
BeaconState.hashTreeRoot - 250000 balances 206.97 ms/op 175.03 ms/op 1.18
aggregationBits - 2048 els - zipIndexesInBitList 19.632 us/op 20.818 us/op 0.94
byteArrayEquals 32 47.117 ns/op 48.133 ns/op 0.98
Buffer.compare 32 14.944 ns/op 15.091 ns/op 0.99
byteArrayEquals 1024 1.2412 us/op 1.2661 us/op 0.98
Buffer.compare 1024 21.881 ns/op 22.581 ns/op 0.97
byteArrayEquals 16384 20.609 us/op 19.776 us/op 1.04
Buffer.compare 16384 206.87 ns/op 163.33 ns/op 1.27
byteArrayEquals 123687377 148.85 ms/op 151.67 ms/op 0.98
Buffer.compare 123687377 5.4074 ms/op 5.3376 ms/op 1.01
byteArrayEquals 32 - diff last byte 42.330 ns/op 46.143 ns/op 0.92
Buffer.compare 32 - diff last byte 15.143 ns/op 15.161 ns/op 1.00
byteArrayEquals 1024 - diff last byte 1.2258 us/op 1.2281 us/op 1.00
Buffer.compare 1024 - diff last byte 23.329 ns/op 21.916 ns/op 1.06
byteArrayEquals 16384 - diff last byte 19.734 us/op 19.560 us/op 1.01
Buffer.compare 16384 - diff last byte 167.67 ns/op 192.76 ns/op 0.87
byteArrayEquals 123687377 - diff last byte 154.34 ms/op 149.69 ms/op 1.03
Buffer.compare 123687377 - diff last byte 4.3779 ms/op 4.0524 ms/op 1.08
byteArrayEquals 32 - random bytes 5.0170 ns/op 4.8870 ns/op 1.03
Buffer.compare 32 - random bytes 15.969 ns/op 15.727 ns/op 1.02
byteArrayEquals 1024 - random bytes 4.9690 ns/op 4.8540 ns/op 1.02
Buffer.compare 1024 - random bytes 15.902 ns/op 16.095 ns/op 0.99
byteArrayEquals 16384 - random bytes 5.0020 ns/op 4.9580 ns/op 1.01
Buffer.compare 16384 - random bytes 15.809 ns/op 15.954 ns/op 0.99
byteArrayEquals 123687377 - random bytes 8.0100 ns/op 7.9600 ns/op 1.01
Buffer.compare 123687377 - random bytes 19.000 ns/op 18.890 ns/op 1.01
regular array get 100000 times 31.371 us/op 31.168 us/op 1.01
wrappedArray get 100000 times 31.340 us/op 30.222 us/op 1.04
arrayWithProxy get 100000 times 9.6617 ms/op 8.7653 ms/op 1.10
ssz.Root.equals 41.834 ns/op 43.216 ns/op 0.97
byteArrayEquals 43.812 ns/op 41.874 ns/op 1.05
Buffer.compare 9.1640 ns/op 9.3910 ns/op 0.98
processSlot - 1 slots 8.6730 us/op 8.8880 us/op 0.98
processSlot - 32 slots 1.6378 ms/op 2.6615 ms/op 0.62
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 2.0668 ms/op 2.5902 ms/op 0.80
getCommitteeAssignments - req 1 vs - 250000 vc 1.8177 ms/op 1.8308 ms/op 0.99
getCommitteeAssignments - req 100 vs - 250000 vc 3.5993 ms/op 3.6604 ms/op 0.98
getCommitteeAssignments - req 1000 vs - 250000 vc 3.8147 ms/op 3.8842 ms/op 0.98
findModifiedValidators - 10000 modified validators 754.37 ms/op 780.77 ms/op 0.97
findModifiedValidators - 1000 modified validators 658.38 ms/op 682.60 ms/op 0.96
findModifiedValidators - 100 modified validators 164.69 ms/op 209.07 ms/op 0.79
findModifiedValidators - 10 modified validators 143.06 ms/op 132.05 ms/op 1.08
findModifiedValidators - 1 modified validators 206.04 ms/op 142.73 ms/op 1.44
findModifiedValidators - no difference 138.11 ms/op 136.86 ms/op 1.01
compare ViewDUs 6.2650 s/op 6.2073 s/op 1.01
compare each validator Uint8Array 902.53 ms/op 1.2054 s/op 0.75
compare ViewDU to Uint8Array 926.15 ms/op 768.72 ms/op 1.20
migrate state 1000000 validators, 24 modified, 0 new 828.71 ms/op 812.61 ms/op 1.02
migrate state 1000000 validators, 1700 modified, 1000 new 1.1292 s/op 1.0226 s/op 1.10
migrate state 1000000 validators, 3400 modified, 2000 new 1.2174 s/op 1.2979 s/op 0.94
migrate state 1500000 validators, 24 modified, 0 new 866.92 ms/op 800.93 ms/op 1.08
migrate state 1500000 validators, 1700 modified, 1000 new 1.1161 s/op 1.0181 s/op 1.10
migrate state 1500000 validators, 3400 modified, 2000 new 1.4270 s/op 1.3727 s/op 1.04
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 6.0800 ns/op 6.0000 ns/op 1.01
state getBlockRootAtSlot - 250000 vs - 7PWei 504.18 ns/op 522.30 ns/op 0.97
naive computeProposerIndex 100000 validators 42.452 ms/op 41.141 ms/op 1.03
computeProposerIndex 100000 validators 1.3208 ms/op 1.3431 ms/op 0.98
naiveGetNextSyncCommitteeIndices 1000 validators 6.5728 s/op 5.9997 s/op 1.10
getNextSyncCommitteeIndices 1000 validators 91.233 ms/op 95.847 ms/op 0.95
naiveGetNextSyncCommitteeIndices 10000 validators 6.4457 s/op 5.7910 s/op 1.11
getNextSyncCommitteeIndices 10000 validators 97.199 ms/op 96.511 ms/op 1.01
naiveGetNextSyncCommitteeIndices 100000 validators 5.6615 s/op 5.9189 s/op 0.96
getNextSyncCommitteeIndices 100000 validators 90.511 ms/op 102.78 ms/op 0.88
naive computeShuffledIndex 100000 validators 20.180 s/op 20.185 s/op 1.00
cached computeShuffledIndex 100000 validators 480.69 ms/op 484.68 ms/op 0.99
naive computeShuffledIndex 2000000 validators 432.82 s/op 417.19 s/op 1.04
cached computeShuffledIndex 2000000 validators 35.023 s/op 15.769 s/op 2.22
computeProposers - vc 250000 555.47 us/op 520.12 us/op 1.07
computeEpochShuffling - vc 250000 40.305 ms/op 36.222 ms/op 1.11
getNextSyncCommittee - vc 250000 9.4286 ms/op 8.7499 ms/op 1.08
computeSigningRoot for AttestationData 20.350 us/op 17.877 us/op 1.14
hash AttestationData serialized data then Buffer.toString(base64) 1.1779 us/op 1.1844 us/op 0.99
toHexString serialized data 1.0256 us/op 952.50 ns/op 1.08
Buffer.toString(base64) 102.82 ns/op 100.80 ns/op 1.02
nodejs block root to RootHex using toHex 115.45 ns/op 110.84 ns/op 1.04
nodejs block root to RootHex using toRootHex 74.191 ns/op 75.092 ns/op 0.99
browser block root to RootHex using the deprecated toHexString 193.89 ns/op 186.19 ns/op 1.04
browser block root to RootHex using toHex 159.69 ns/op 158.22 ns/op 1.01
browser block root to RootHex using toRootHex 153.39 ns/op 145.29 ns/op 1.06

by benchmarkbot/action

@wemeetagain wemeetagain merged commit b42f83b into unstable Aug 13, 2025
17 of 21 checks passed
@wemeetagain wemeetagain deleted the cayman/dual-stack-same-port branch August 13, 2025 15:50
@wemeetagain
Copy link
Member Author

🎉 This PR is included in v1.34.0 🎉

philknows added a commit that referenced this pull request Sep 11, 2025
**Motivation**

After resolving issues with the ipv6 dual stack port bug in v1.34.1, it
was noted that we should make it clear our default p2p port for both
IPv4 and IPv6 is now the same at port `9000`.

**Description**

When we introduced IPv6 support in #5758 , we used to default the port
of `9090`. When supporting dual stack option on the same port via #8190
, we should make it clear in documentation this is now by default also
on port `9000`.
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.

Dual-stack works with --port6 set to --port bug: uncaughtException: Configured bind multiaddrs must have different ports

3 participants