Skip to content

Conversation

@philknows
Copy link
Member

Motivation

This hotfix addresses users who are using the same port for both ipv4 and ipv6 in dual stack mode.

Description

Fix #8365 is included to bump discv5, to prevent users from having to use different ports for ipv4 and ipv6.

philknows and others added 2 commits September 10, 2025 16:34
**Motivation**

Users reported in the v1.34.0 release that changes in the release
created an issue when ipv6 and ipv4 ports were the same:

```
✖ Error: Timeout: Did not receive an init message from worker after 300000ms. Make sure the worker calls expose().
```

**Description**

This PR bumps discv5 from 11.0.3 to 11.0.4 which includes the fix to
binding ipv4 and ipv6 on the same port in dual stack mode.
See: ChainSafe/discv5#318
@philknows philknows requested a review from a team as a code owner September 10, 2025 20:40
Copy link
Contributor

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

Choose a reason for hiding this comment

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

Summary of Changes

Hello @philknows, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request delivers a patch release, version 1.34.1, primarily to deploy a critical hotfix. The fix resolves a networking problem where users operating in dual-stack mode were unable to utilize the same port for both IPv4 and IPv6 connections. This was achieved by updating a key underlying dependency.

Highlights

  • Version Bump: The project version has been incremented to 1.34.1 across all packages, signifying a patch release.
  • Critical Hotfix: This release includes a hotfix addressing an issue where users in dual-stack mode were unable to use the same port for both IPv4 and IPv6 connections.
  • Dependency Update: The @chainsafe/discv5 dependency has been updated to version 11.0.4 to resolve the dual-stack port issue.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

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

Choose a reason for hiding this comment

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

Code Review

This pull request prepares the 1.34.1 patch release. The changes consist of version bumps across all packages in the monorepo from 1.34.0 to 1.34.1. Notably, it includes an update to the @chainsafe/discv5 dependency to version ^11.0.4, which is the core hotfix this release addresses. All changes appear correct and consistent for a patch release.

@codecov
Copy link

codecov bot commented Sep 10, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 54.07%. Comparing base (b8da556) to head (c4ab7f0).
⚠️ Report is 3 commits behind head on stable.

Additional details and impacted files
@@            Coverage Diff             @@
##           stable    #8366      +/-   ##
==========================================
- Coverage   54.08%   54.07%   -0.01%     
==========================================
  Files         849      849              
  Lines       64121    64121              
  Branches     4854     4853       -1     
==========================================
- Hits        34678    34674       -4     
- Misses      29366    29370       +4     
  Partials       77       77              
🚀 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: f8ad8db Previous: null Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.0146 ms/op
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 36.967 us/op
BLS verify - blst 839.96 us/op
BLS verifyMultipleSignatures 3 - blst 2.0090 ms/op
BLS verifyMultipleSignatures 8 - blst 2.1268 ms/op
BLS verifyMultipleSignatures 32 - blst 6.0621 ms/op
BLS verifyMultipleSignatures 64 - blst 11.479 ms/op
BLS verifyMultipleSignatures 128 - blst 17.320 ms/op
BLS deserializing 10000 signatures 695.53 ms/op
BLS deserializing 100000 signatures 7.0579 s/op
BLS verifyMultipleSignatures - same message - 3 - blst 930.51 us/op
BLS verifyMultipleSignatures - same message - 8 - blst 1.0841 ms/op
BLS verifyMultipleSignatures - same message - 32 - blst 1.7847 ms/op
BLS verifyMultipleSignatures - same message - 64 - blst 2.6421 ms/op
BLS verifyMultipleSignatures - same message - 128 - blst 4.4565 ms/op
BLS aggregatePubkeys 32 - blst 19.587 us/op
BLS aggregatePubkeys 128 - blst 70.301 us/op
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 61.367 ms/op
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 56.552 ms/op
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 45.900 ms/op
getSlashingsAndExits - default max 94.872 us/op
getSlashingsAndExits - 2k 382.87 us/op
proposeBlockBody type=full, size=empty 6.0017 ms/op
isKnown best case - 1 super set check 218.00 ns/op
isKnown normal case - 2 super set checks 226.00 ns/op
isKnown worse case - 16 super set checks 228.00 ns/op
InMemoryCheckpointStateCache - add get delete 2.9280 us/op
validate api signedAggregateAndProof - struct 2.3791 ms/op
validate gossip signedAggregateAndProof - struct 2.1897 ms/op
batch validate gossip attestation - vc 640000 - chunk 32 126.62 us/op
batch validate gossip attestation - vc 640000 - chunk 64 107.86 us/op
batch validate gossip attestation - vc 640000 - chunk 128 97.623 us/op
batch validate gossip attestation - vc 640000 - chunk 256 101.94 us/op
pickEth1Vote - no votes 993.52 us/op
pickEth1Vote - max votes 6.8320 ms/op
pickEth1Vote - Eth1Data hashTreeRoot value x2048 12.671 ms/op
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 20.629 ms/op
pickEth1Vote - Eth1Data fastSerialize value x2048 439.49 us/op
pickEth1Vote - Eth1Data fastSerialize tree x2048 4.4985 ms/op
bytes32 toHexString 399.00 ns/op
bytes32 Buffer.toString(hex) 241.00 ns/op
bytes32 Buffer.toString(hex) from Uint8Array 330.00 ns/op
bytes32 Buffer.toString(hex) + 0x 258.00 ns/op
Object access 1 prop 0.12600 ns/op
Map access 1 prop 0.14000 ns/op
Object get x1000 5.9340 ns/op
Map get x1000 6.5260 ns/op
Object set x1000 31.583 ns/op
Map set x1000 20.655 ns/op
Return object 10000 times 0.29450 ns/op
Throw Error 10000 times 4.4562 us/op
toHex 130.50 ns/op
Buffer.from 128.58 ns/op
shared Buffer 80.794 ns/op
fastMsgIdFn sha256 / 200 bytes 2.1930 us/op
fastMsgIdFn h32 xxhash / 200 bytes 272.00 ns/op
fastMsgIdFn h64 xxhash / 200 bytes 357.00 ns/op
fastMsgIdFn sha256 / 1000 bytes 7.4440 us/op
fastMsgIdFn h32 xxhash / 1000 bytes 421.00 ns/op
fastMsgIdFn h64 xxhash / 1000 bytes 338.00 ns/op
fastMsgIdFn sha256 / 10000 bytes 66.434 us/op
fastMsgIdFn h32 xxhash / 10000 bytes 1.8500 us/op
fastMsgIdFn h64 xxhash / 10000 bytes 1.2180 us/op
send data - 1000 256B messages 16.074 ms/op
send data - 1000 512B messages 19.886 ms/op
send data - 1000 1024B messages 27.759 ms/op
send data - 1000 1200B messages 24.070 ms/op
send data - 1000 2048B messages 25.668 ms/op
send data - 1000 4096B messages 30.088 ms/op
send data - 1000 16384B messages 44.936 ms/op
send data - 1000 65536B messages 117.66 ms/op
enrSubnets - fastDeserialize 64 bits 892.00 ns/op
enrSubnets - ssz BitVector 64 bits 326.00 ns/op
enrSubnets - fastDeserialize 4 bits 134.00 ns/op
enrSubnets - ssz BitVector 4 bits 324.00 ns/op
prioritizePeers score -10:0 att 32-0.1 sync 2-0 239.28 us/op
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 263.52 us/op
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 371.96 us/op
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 709.39 us/op
prioritizePeers score 0:0 att 64-1 sync 4-1 875.52 us/op
array of 16000 items push then shift 1.6790 us/op
LinkedList of 16000 items push then shift 7.6260 ns/op
array of 16000 items push then pop 81.537 ns/op
LinkedList of 16000 items push then pop 7.1790 ns/op
array of 24000 items push then shift 2.4457 us/op
LinkedList of 24000 items push then shift 8.4870 ns/op
array of 24000 items push then pop 114.55 ns/op
LinkedList of 24000 items push then pop 7.6060 ns/op
intersect bitArray bitLen 8 6.4310 ns/op
intersect array and set length 8 40.190 ns/op
intersect bitArray bitLen 128 30.216 ns/op
intersect array and set length 128 655.23 ns/op
bitArray.getTrueBitIndexes() bitLen 128 1.0660 us/op
bitArray.getTrueBitIndexes() bitLen 248 1.8590 us/op
bitArray.getTrueBitIndexes() bitLen 512 4.0010 us/op
Buffer.concat 32 items 670.00 ns/op
Uint8Array.set 32 items 1.6900 us/op
Buffer.copy 2.5500 us/op
Uint8Array.set - with subarray 2.7170 us/op
Uint8Array.set - without subarray 1.8910 us/op
getUint32 - dataview 201.00 ns/op
getUint32 - manual 124.00 ns/op
Set add up to 64 items then delete first 2.3244 us/op
OrderedSet add up to 64 items then delete first 3.3817 us/op
Set add up to 64 items then delete last 2.3845 us/op
OrderedSet add up to 64 items then delete last 3.6392 us/op
Set add up to 64 items then delete middle 2.5636 us/op
OrderedSet add up to 64 items then delete middle 5.9098 us/op
Set add up to 128 items then delete first 5.7298 us/op
OrderedSet add up to 128 items then delete first 8.9352 us/op
Set add up to 128 items then delete last 5.2285 us/op
OrderedSet add up to 128 items then delete last 7.4149 us/op
Set add up to 128 items then delete middle 5.0205 us/op
OrderedSet add up to 128 items then delete middle 14.192 us/op
Set add up to 256 items then delete first 11.141 us/op
OrderedSet add up to 256 items then delete first 17.100 us/op
Set add up to 256 items then delete last 10.277 us/op
OrderedSet add up to 256 items then delete last 16.020 us/op
Set add up to 256 items then delete middle 10.721 us/op
OrderedSet add up to 256 items then delete middle 45.018 us/op
transfer serialized Status (84 B) 2.3690 us/op
copy serialized Status (84 B) 1.2320 us/op
transfer serialized SignedVoluntaryExit (112 B) 2.2860 us/op
copy serialized SignedVoluntaryExit (112 B) 1.3450 us/op
transfer serialized ProposerSlashing (416 B) 2.4500 us/op
copy serialized ProposerSlashing (416 B) 1.3410 us/op
transfer serialized Attestation (485 B) 2.3510 us/op
copy serialized Attestation (485 B) 1.4450 us/op
transfer serialized AttesterSlashing (33232 B) 3.2090 us/op
copy serialized AttesterSlashing (33232 B) 4.1590 us/op
transfer serialized Small SignedBeaconBlock (128000 B) 3.2750 us/op
copy serialized Small SignedBeaconBlock (128000 B) 9.9000 us/op
transfer serialized Avg SignedBeaconBlock (200000 B) 3.6710 us/op
copy serialized Avg SignedBeaconBlock (200000 B) 14.877 us/op
transfer serialized BlobsSidecar (524380 B) 3.8670 us/op
copy serialized BlobsSidecar (524380 B) 88.596 us/op
transfer serialized Big SignedBeaconBlock (1000000 B) 4.4680 us/op
copy serialized Big SignedBeaconBlock (1000000 B) 132.04 us/op
pass gossip attestations to forkchoice per slot 2.9809 ms/op
forkChoice updateHead vc 100000 bc 64 eq 0 464.93 us/op
forkChoice updateHead vc 600000 bc 64 eq 0 3.2997 ms/op
forkChoice updateHead vc 1000000 bc 64 eq 0 6.2336 ms/op
forkChoice updateHead vc 600000 bc 320 eq 0 2.9777 ms/op
forkChoice updateHead vc 600000 bc 1200 eq 0 4.2376 ms/op
forkChoice updateHead vc 600000 bc 7200 eq 0 4.8074 ms/op
forkChoice updateHead vc 600000 bc 64 eq 1000 11.307 ms/op
forkChoice updateHead vc 600000 bc 64 eq 10000 11.041 ms/op
forkChoice updateHead vc 600000 bc 64 eq 300000 26.609 ms/op
computeDeltas 500000 validators 300 proto nodes 4.5870 ms/op
computeDeltas 500000 validators 1200 proto nodes 4.9289 ms/op
computeDeltas 500000 validators 7200 proto nodes 4.9234 ms/op
computeDeltas 750000 validators 300 proto nodes 7.1424 ms/op
computeDeltas 750000 validators 1200 proto nodes 7.1238 ms/op
computeDeltas 750000 validators 7200 proto nodes 6.5413 ms/op
computeDeltas 1400000 validators 300 proto nodes 12.271 ms/op
computeDeltas 1400000 validators 1200 proto nodes 12.776 ms/op
computeDeltas 1400000 validators 7200 proto nodes 12.471 ms/op
computeDeltas 2100000 validators 300 proto nodes 18.740 ms/op
computeDeltas 2100000 validators 1200 proto nodes 18.032 ms/op
computeDeltas 2100000 validators 7200 proto nodes 17.188 ms/op
altair processAttestation - 250000 vs - 7PWei normalcase 2.3831 ms/op
altair processAttestation - 250000 vs - 7PWei worstcase 3.3810 ms/op
altair processAttestation - setStatus - 1/6 committees join 139.35 us/op
altair processAttestation - setStatus - 1/3 committees join 246.82 us/op
altair processAttestation - setStatus - 1/2 committees join 349.80 us/op
altair processAttestation - setStatus - 2/3 committees join 463.76 us/op
altair processAttestation - setStatus - 4/5 committees join 630.75 us/op
altair processAttestation - setStatus - 100% committees join 743.95 us/op
altair processBlock - 250000 vs - 7PWei normalcase 5.5597 ms/op
altair processBlock - 250000 vs - 7PWei normalcase hashState 32.346 ms/op
altair processBlock - 250000 vs - 7PWei worstcase 36.585 ms/op
altair processBlock - 250000 vs - 7PWei worstcase hashState 87.872 ms/op
phase0 processBlock - 250000 vs - 7PWei normalcase 2.1053 ms/op
phase0 processBlock - 250000 vs - 7PWei worstcase 25.687 ms/op
altair processEth1Data - 250000 vs - 7PWei normalcase 351.00 us/op
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 8.1790 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 36.819 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 16.336 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 8.7720 us/op
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 238.40 us/op
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 2.7269 ms/op
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.6393 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.4760 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.9030 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.7532 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.9481 ms/op
Tree 40 250000 create 495.81 ms/op
Tree 40 250000 get(125000) 148.81 ns/op
Tree 40 250000 set(125000) 2.2591 us/op
Tree 40 250000 toArray() 21.438 ms/op
Tree 40 250000 iterate all - toArray() + loop 21.096 ms/op
Tree 40 250000 iterate all - get(i) 58.738 ms/op
Array 250000 create 3.9899 ms/op
Array 250000 clone - spread 1.5761 ms/op
Array 250000 get(125000) 0.41400 ns/op
Array 250000 set(125000) 0.47000 ns/op
Array 250000 iterate all - loop 83.905 us/op
phase0 afterProcessEpoch - 250000 vs - 7PWei 43.463 ms/op
Array.fill - length 1000000 4.2173 ms/op
Array push - length 1000000 15.266 ms/op
Array.get 0.28631 ns/op
Uint8Array.get 0.44965 ns/op
phase0 beforeProcessEpoch - 250000 vs - 7PWei 17.930 ms/op
altair processEpoch - mainnet_e81889 269.01 ms/op
mainnet_e81889 - altair beforeProcessEpoch 17.174 ms/op
mainnet_e81889 - altair processJustificationAndFinalization 5.9890 us/op
mainnet_e81889 - altair processInactivityUpdates 5.3622 ms/op
mainnet_e81889 - altair processRewardsAndPenalties 42.455 ms/op
mainnet_e81889 - altair processRegistryUpdates 675.00 ns/op
mainnet_e81889 - altair processSlashings 197.00 ns/op
mainnet_e81889 - altair processEth1DataReset 189.00 ns/op
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.2600 ms/op
mainnet_e81889 - altair processSlashingsReset 1.2050 us/op
mainnet_e81889 - altair processRandaoMixesReset 1.2060 us/op
mainnet_e81889 - altair processHistoricalRootsUpdate 182.00 ns/op
mainnet_e81889 - altair processParticipationFlagUpdates 629.00 ns/op
mainnet_e81889 - altair processSyncCommitteeUpdates 156.00 ns/op
mainnet_e81889 - altair afterProcessEpoch 44.984 ms/op
capella processEpoch - mainnet_e217614 1.0856 s/op
mainnet_e217614 - capella beforeProcessEpoch 70.564 ms/op
mainnet_e217614 - capella processJustificationAndFinalization 6.6570 us/op
mainnet_e217614 - capella processInactivityUpdates 16.088 ms/op
mainnet_e217614 - capella processRewardsAndPenalties 219.04 ms/op
mainnet_e217614 - capella processRegistryUpdates 7.8080 us/op
mainnet_e217614 - capella processSlashings 207.00 ns/op
mainnet_e217614 - capella processEth1DataReset 182.00 ns/op
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.4194 ms/op
mainnet_e217614 - capella processSlashingsReset 1.1060 us/op
mainnet_e217614 - capella processRandaoMixesReset 1.3760 us/op
mainnet_e217614 - capella processHistoricalRootsUpdate 198.00 ns/op
mainnet_e217614 - capella processParticipationFlagUpdates 603.00 ns/op
mainnet_e217614 - capella afterProcessEpoch 120.05 ms/op
phase0 processEpoch - mainnet_e58758 360.85 ms/op
mainnet_e58758 - phase0 beforeProcessEpoch 101.30 ms/op
mainnet_e58758 - phase0 processJustificationAndFinalization 6.4330 us/op
mainnet_e58758 - phase0 processRewardsAndPenalties 43.017 ms/op
mainnet_e58758 - phase0 processRegistryUpdates 3.7460 us/op
mainnet_e58758 - phase0 processSlashings 202.00 ns/op
mainnet_e58758 - phase0 processEth1DataReset 202.00 ns/op
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 2.8542 ms/op
mainnet_e58758 - phase0 processSlashingsReset 1.1370 us/op
mainnet_e58758 - phase0 processRandaoMixesReset 1.4790 us/op
mainnet_e58758 - phase0 processHistoricalRootsUpdate 221.00 ns/op
mainnet_e58758 - phase0 processParticipationRecordUpdates 1.0400 us/op
mainnet_e58758 - phase0 afterProcessEpoch 37.688 ms/op
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.7097 ms/op
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 6.0695 ms/op
altair processInactivityUpdates - 250000 normalcase 21.162 ms/op
altair processInactivityUpdates - 250000 worstcase 22.623 ms/op
phase0 processRegistryUpdates - 250000 normalcase 7.8790 us/op
phase0 processRegistryUpdates - 250000 badcase_full_deposits 375.74 us/op
phase0 processRegistryUpdates - 250000 worstcase 0.5 141.11 ms/op
altair processRewardsAndPenalties - 250000 normalcase 31.129 ms/op
altair processRewardsAndPenalties - 250000 worstcase 32.121 ms/op
phase0 getAttestationDeltas - 250000 normalcase 14.560 ms/op
phase0 getAttestationDeltas - 250000 worstcase 6.6440 ms/op
phase0 processSlashings - 250000 worstcase 133.52 us/op
altair processSyncCommitteeUpdates - 250000 14.699 ms/op
BeaconState.hashTreeRoot - No change 251.00 ns/op
BeaconState.hashTreeRoot - 1 full validator 113.40 us/op
BeaconState.hashTreeRoot - 32 full validator 1.0226 ms/op
BeaconState.hashTreeRoot - 512 full validator 15.527 ms/op
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 146.87 us/op
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.8709 ms/op
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 29.841 ms/op
BeaconState.hashTreeRoot - 1 balances 92.462 us/op
BeaconState.hashTreeRoot - 32 balances 935.37 us/op
BeaconState.hashTreeRoot - 512 balances 10.328 ms/op
BeaconState.hashTreeRoot - 250000 balances 221.20 ms/op
aggregationBits - 2048 els - zipIndexesInBitList 24.880 us/op
byteArrayEquals 32 56.063 ns/op
Buffer.compare 32 18.111 ns/op
byteArrayEquals 1024 1.6945 us/op
Buffer.compare 1024 26.751 ns/op
byteArrayEquals 16384 26.404 us/op
Buffer.compare 16384 195.76 ns/op
byteArrayEquals 123687377 200.87 ms/op
Buffer.compare 123687377 7.6460 ms/op
byteArrayEquals 32 - diff last byte 54.374 ns/op
Buffer.compare 32 - diff last byte 17.417 ns/op
byteArrayEquals 1024 - diff last byte 1.6360 us/op
Buffer.compare 1024 - diff last byte 25.535 ns/op
byteArrayEquals 16384 - diff last byte 26.028 us/op
Buffer.compare 16384 - diff last byte 203.38 ns/op
byteArrayEquals 123687377 - diff last byte 200.21 ms/op
Buffer.compare 123687377 - diff last byte 9.0414 ms/op
byteArrayEquals 32 - random bytes 5.7610 ns/op
Buffer.compare 32 - random bytes 17.883 ns/op
byteArrayEquals 1024 - random bytes 5.3980 ns/op
Buffer.compare 1024 - random bytes 17.906 ns/op
byteArrayEquals 16384 - random bytes 5.9210 ns/op
Buffer.compare 16384 - random bytes 17.788 ns/op
byteArrayEquals 123687377 - random bytes 7.0700 ns/op
Buffer.compare 123687377 - random bytes 19.270 ns/op
regular array get 100000 times 46.360 us/op
wrappedArray get 100000 times 34.645 us/op
arrayWithProxy get 100000 times 12.648 ms/op
ssz.Root.equals 48.086 ns/op
byteArrayEquals 47.145 ns/op
Buffer.compare 10.879 ns/op
processSlot - 1 slots 12.038 us/op
processSlot - 32 slots 3.1220 ms/op
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 3.7691 ms/op
getCommitteeAssignments - req 1 vs - 250000 vc 2.2660 ms/op
getCommitteeAssignments - req 100 vs - 250000 vc 4.3601 ms/op
getCommitteeAssignments - req 1000 vs - 250000 vc 4.6043 ms/op
findModifiedValidators - 10000 modified validators 775.12 ms/op
findModifiedValidators - 1000 modified validators 742.97 ms/op
findModifiedValidators - 100 modified validators 301.13 ms/op
findModifiedValidators - 10 modified validators 350.62 ms/op
findModifiedValidators - 1 modified validators 415.12 ms/op
findModifiedValidators - no difference 565.18 ms/op
compare ViewDUs 11.740 s/op
compare each validator Uint8Array 3.2325 s/op
compare ViewDU to Uint8Array 1.6941 s/op
migrate state 1000000 validators, 24 modified, 0 new 982.23 ms/op
migrate state 1000000 validators, 1700 modified, 1000 new 1.3186 s/op
migrate state 1000000 validators, 3400 modified, 2000 new 1.5132 s/op
migrate state 1500000 validators, 24 modified, 0 new 1.0618 s/op
migrate state 1500000 validators, 1700 modified, 1000 new 1.1278 s/op
migrate state 1500000 validators, 3400 modified, 2000 new 1.2662 s/op
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.3200 ns/op
state getBlockRootAtSlot - 250000 vs - 7PWei 599.01 ns/op
naive computeProposerIndex 100000 validators 58.858 ms/op
computeProposerIndex 100000 validators 1.5691 ms/op
naiveGetNextSyncCommitteeIndices 1000 validators 7.5469 s/op
getNextSyncCommitteeIndices 1000 validators 113.08 ms/op
naiveGetNextSyncCommitteeIndices 10000 validators 6.9635 s/op
getNextSyncCommitteeIndices 10000 validators 111.29 ms/op
naiveGetNextSyncCommitteeIndices 100000 validators 7.3560 s/op
getNextSyncCommitteeIndices 100000 validators 112.91 ms/op
naive computeShuffledIndex 100000 validators 21.606 s/op
cached computeShuffledIndex 100000 validators 592.97 ms/op
naive computeShuffledIndex 2000000 validators 524.27 s/op
cached computeShuffledIndex 2000000 validators 41.080 s/op
computeProposers - vc 250000 631.50 us/op
computeEpochShuffling - vc 250000 42.479 ms/op
getNextSyncCommittee - vc 250000 10.914 ms/op
computeSigningRoot for AttestationData 21.692 us/op
hash AttestationData serialized data then Buffer.toString(base64) 1.5943 us/op
toHexString serialized data 1.1607 us/op
Buffer.toString(base64) 146.69 ns/op
nodejs block root to RootHex using toHex 148.35 ns/op
nodejs block root to RootHex using toRootHex 94.163 ns/op
nodejs fromhex(blob) 117.85 ms/op
nodejs fromHexInto(blob) 94.963 ms/op
browser block root to RootHex using the deprecated toHexString 214.02 ns/op
browser block root to RootHex using toHex 171.12 ns/op
browser block root to RootHex using toRootHex 159.47 ns/op
browser fromHexInto(blob) 819.47 us/op
browser fromHex(blob) 792.31 ms/op

by benchmarkbot/action

@philknows
Copy link
Member Author

Confirm fixed.

Screenshot 2025-09-10 at 17 44 31

@philknows philknows merged commit 9a5065a into stable Sep 10, 2025
29 of 31 checks passed
@philknows philknows deleted the rc/v1.34.1 branch September 10, 2025 21:49
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.34.1 🎉

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.

4 participants