Skip to content

chore: merge v1.32.0 stable back to unstable #8061

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jul 15, 2025
Merged

chore: merge v1.32.0 stable back to unstable #8061

merged 2 commits into from
Jul 15, 2025

Conversation

philknows
Copy link
Member

Motivation

As per release.md, we must merge stable back to unstable.

@philknows philknows requested a review from a team as a code owner July 15, 2025 19:01
Copy link

codecov bot commented Jul 15, 2025

Codecov Report

Attention: Patch coverage is 49.42661% with 441 lines in your changes missing coverage. Please review.

Project coverage is 55.81%. Comparing base (64823d4) to head (8f56b55).
Report is 40 commits behind head on unstable.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #8061      +/-   ##
============================================
- Coverage     55.84%   55.81%   -0.03%     
============================================
  Files           830      834       +4     
  Lines         59228    59535     +307     
  Branches       4561     4602      +41     
============================================
+ Hits          33075    33229     +154     
- Misses        26085    26238     +153     
  Partials         68       68              
🚀 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.

Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: a1cc92b Previous: 48f2ff7 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.0355 ms/op 769.84 us/op 1.35
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 35.425 us/op 30.649 us/op 1.16
BLS verify - blst 893.40 us/op 909.92 us/op 0.98
BLS verifyMultipleSignatures 3 - blst 1.3490 ms/op 1.3077 ms/op 1.03
BLS verifyMultipleSignatures 8 - blst 2.0505 ms/op 2.0855 ms/op 0.98
BLS verifyMultipleSignatures 32 - blst 6.3454 ms/op 4.5676 ms/op 1.39
BLS verifyMultipleSignatures 64 - blst 11.235 ms/op 8.4486 ms/op 1.33
BLS verifyMultipleSignatures 128 - blst 19.498 ms/op 16.015 ms/op 1.22
BLS deserializing 10000 signatures 731.83 ms/op 607.55 ms/op 1.20
BLS deserializing 100000 signatures 7.5328 s/op 6.0192 s/op 1.25
BLS verifyMultipleSignatures - same message - 3 - blst 1.0011 ms/op 959.15 us/op 1.04
BLS verifyMultipleSignatures - same message - 8 - blst 1.1171 ms/op 1.0758 ms/op 1.04
BLS verifyMultipleSignatures - same message - 32 - blst 1.8742 ms/op 1.6871 ms/op 1.11
BLS verifyMultipleSignatures - same message - 64 - blst 3.0491 ms/op 2.5028 ms/op 1.22
BLS verifyMultipleSignatures - same message - 128 - blst 5.2126 ms/op 4.0700 ms/op 1.28
BLS aggregatePubkeys 32 - blst 21.427 us/op 17.778 us/op 1.21
BLS aggregatePubkeys 128 - blst 74.828 us/op 62.763 us/op 1.19
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 61.640 ms/op 46.182 ms/op 1.33
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 57.295 ms/op 40.556 ms/op 1.41
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 47.647 ms/op 36.560 ms/op 1.30
getSlashingsAndExits - default max 106.85 us/op 48.188 us/op 2.22
getSlashingsAndExits - 2k 381.25 us/op 257.32 us/op 1.48
proposeBlockBody type=full, size=empty 7.4275 ms/op 4.6960 ms/op 1.58
isKnown best case - 1 super set check 268.00 ns/op 430.00 ns/op 0.62
isKnown normal case - 2 super set checks 259.00 ns/op 433.00 ns/op 0.60
isKnown worse case - 16 super set checks 257.00 ns/op 433.00 ns/op 0.59
InMemoryCheckpointStateCache - add get delete 3.8180 us/op 2.5510 us/op 1.50
validate api signedAggregateAndProof - struct 1.6585 ms/op 1.9294 ms/op 0.86
validate gossip signedAggregateAndProof - struct 1.8699 ms/op 1.9333 ms/op 0.97
batch validate gossip attestation - vc 640000 - chunk 32 142.92 us/op 106.21 us/op 1.35
batch validate gossip attestation - vc 640000 - chunk 64 147.86 us/op 94.387 us/op 1.57
batch validate gossip attestation - vc 640000 - chunk 128 129.67 us/op 85.755 us/op 1.51
batch validate gossip attestation - vc 640000 - chunk 256 123.87 us/op 83.333 us/op 1.49
pickEth1Vote - no votes 1.1210 ms/op 760.01 us/op 1.48
pickEth1Vote - max votes 6.9369 ms/op 5.3375 ms/op 1.30
pickEth1Vote - Eth1Data hashTreeRoot value x2048 13.104 ms/op 9.0866 ms/op 1.44
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 20.193 ms/op 14.006 ms/op 1.44
pickEth1Vote - Eth1Data fastSerialize value x2048 485.27 us/op 343.34 us/op 1.41
pickEth1Vote - Eth1Data fastSerialize tree x2048 2.3152 ms/op 1.8903 ms/op 1.22
bytes32 toHexString 465.00 ns/op 534.00 ns/op 0.87
bytes32 Buffer.toString(hex) 244.00 ns/op 457.00 ns/op 0.53
bytes32 Buffer.toString(hex) from Uint8Array 347.00 ns/op 524.00 ns/op 0.66
bytes32 Buffer.toString(hex) + 0x 262.00 ns/op 440.00 ns/op 0.60
Object access 1 prop 0.13300 ns/op 0.32500 ns/op 0.41
Map access 1 prop 0.17400 ns/op 0.33900 ns/op 0.51
Object get x1000 7.1980 ns/op 4.9460 ns/op 1.46
Map get x1000 7.7940 ns/op 5.5660 ns/op 1.40
Object set x1000 32.964 ns/op 18.960 ns/op 1.74
Map set x1000 22.623 ns/op 16.341 ns/op 1.38
Return object 10000 times 0.32080 ns/op 0.28510 ns/op 1.13
Throw Error 10000 times 5.1749 us/op 3.3087 us/op 1.56
toHex 149.99 ns/op 92.734 ns/op 1.62
Buffer.from 140.17 ns/op 86.747 ns/op 1.62
shared Buffer 92.289 ns/op 64.509 ns/op 1.43
fastMsgIdFn sha256 / 200 bytes 2.3220 us/op 1.9050 us/op 1.22
fastMsgIdFn h32 xxhash / 200 bytes 254.00 ns/op 412.00 ns/op 0.62
fastMsgIdFn h64 xxhash / 200 bytes 306.00 ns/op 465.00 ns/op 0.66
fastMsgIdFn sha256 / 1000 bytes 7.7700 us/op 5.6690 us/op 1.37
fastMsgIdFn h32 xxhash / 1000 bytes 344.00 ns/op 555.00 ns/op 0.62
fastMsgIdFn h64 xxhash / 1000 bytes 353.00 ns/op 558.00 ns/op 0.63
fastMsgIdFn sha256 / 10000 bytes 70.378 us/op 50.843 us/op 1.38
fastMsgIdFn h32 xxhash / 10000 bytes 1.8720 us/op 1.9360 us/op 0.97
fastMsgIdFn h64 xxhash / 10000 bytes 1.2330 us/op 1.3700 us/op 0.90
send data - 1000 256B messages 12.831 ms/op 9.3744 ms/op 1.37
send data - 1000 512B messages 16.539 ms/op 13.211 ms/op 1.25
send data - 1000 1024B messages 25.749 ms/op 20.401 ms/op 1.26
send data - 1000 1200B messages 22.571 ms/op 13.816 ms/op 1.63
send data - 1000 2048B messages 25.256 ms/op 14.768 ms/op 1.71
send data - 1000 4096B messages 28.888 ms/op 20.854 ms/op 1.39
send data - 1000 16384B messages 76.535 ms/op 60.402 ms/op 1.27
send data - 1000 65536B messages 258.02 ms/op 231.89 ms/op 1.11
enrSubnets - fastDeserialize 64 bits 1.0210 us/op 1.0490 us/op 0.97
enrSubnets - ssz BitVector 64 bits 370.00 ns/op 559.00 ns/op 0.66
enrSubnets - fastDeserialize 4 bits 125.00 ns/op 369.00 ns/op 0.34
enrSubnets - ssz BitVector 4 bits 341.00 ns/op 555.00 ns/op 0.61
prioritizePeers score -10:0 att 32-0.1 sync 2-0 121.73 us/op 103.64 us/op 1.17
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 143.80 us/op 120.29 us/op 1.20
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 217.42 us/op 173.46 us/op 1.25
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 401.39 us/op 310.60 us/op 1.29
prioritizePeers score 0:0 att 64-1 sync 4-1 506.91 us/op 372.74 us/op 1.36
array of 16000 items push then shift 1.7141 us/op 1.2768 us/op 1.34
LinkedList of 16000 items push then shift 7.6140 ns/op 6.2650 ns/op 1.22
array of 16000 items push then pop 83.150 ns/op 60.603 ns/op 1.37
LinkedList of 16000 items push then pop 7.5600 ns/op 6.0770 ns/op 1.24
array of 24000 items push then shift 2.3943 us/op 1.8742 us/op 1.28
LinkedList of 24000 items push then shift 8.0070 ns/op 6.3510 ns/op 1.26
array of 24000 items push then pop 117.19 ns/op 84.815 ns/op 1.38
LinkedList of 24000 items push then pop 7.7020 ns/op 6.1040 ns/op 1.26
intersect bitArray bitLen 8 7.2750 ns/op 5.3780 ns/op 1.35
intersect array and set length 8 38.394 ns/op 33.520 ns/op 1.15
intersect bitArray bitLen 128 30.612 ns/op 26.265 ns/op 1.17
intersect array and set length 128 628.42 ns/op 550.68 ns/op 1.14
bitArray.getTrueBitIndexes() bitLen 128 1.0520 us/op 1.1570 us/op 0.91
bitArray.getTrueBitIndexes() bitLen 248 1.8220 us/op 1.8070 us/op 1.01
bitArray.getTrueBitIndexes() bitLen 512 3.7530 us/op 3.2640 us/op 1.15
Buffer.concat 32 items 813.00 ns/op 864.00 ns/op 0.94
Uint8Array.set 32 items 1.4460 us/op 1.0860 us/op 1.33
Buffer.copy 2.1760 us/op 2.1380 us/op 1.02
Uint8Array.set - with subarray 1.7000 us/op 1.7520 us/op 0.97
Uint8Array.set - without subarray 984.00 ns/op 1.0400 us/op 0.95
getUint32 - dataview 219.00 ns/op 418.00 ns/op 0.52
getUint32 - manual 127.00 ns/op 345.00 ns/op 0.37
Set add up to 64 items then delete first 2.2473 us/op 1.6904 us/op 1.33
OrderedSet add up to 64 items then delete first 3.2565 us/op 2.7989 us/op 1.16
Set add up to 64 items then delete last 2.3881 us/op 2.1656 us/op 1.10
OrderedSet add up to 64 items then delete last 3.5981 us/op 3.0961 us/op 1.16
Set add up to 64 items then delete middle 2.4837 us/op 2.0823 us/op 1.19
OrderedSet add up to 64 items then delete middle 5.1520 us/op 4.4979 us/op 1.15
Set add up to 128 items then delete first 5.0428 us/op 4.0843 us/op 1.23
OrderedSet add up to 128 items then delete first 8.5241 us/op 6.3334 us/op 1.35
Set add up to 128 items then delete last 5.7052 us/op 4.1241 us/op 1.38
OrderedSet add up to 128 items then delete last 8.7030 us/op 5.9960 us/op 1.45
Set add up to 128 items then delete middle 5.7769 us/op 3.9630 us/op 1.46
OrderedSet add up to 128 items then delete middle 14.575 us/op 11.537 us/op 1.26
Set add up to 256 items then delete first 11.606 us/op 7.9278 us/op 1.46
OrderedSet add up to 256 items then delete first 19.746 us/op 12.485 us/op 1.58
Set add up to 256 items then delete last 12.184 us/op 8.1299 us/op 1.50
OrderedSet add up to 256 items then delete last 16.782 us/op 11.831 us/op 1.42
Set add up to 256 items then delete middle 10.720 us/op 7.6860 us/op 1.39
OrderedSet add up to 256 items then delete middle 48.649 us/op 34.271 us/op 1.42
transfer serialized Status (84 B) 2.5300 us/op 2.0670 us/op 1.22
copy serialized Status (84 B) 1.2760 us/op 1.2440 us/op 1.03
transfer serialized SignedVoluntaryExit (112 B) 3.0310 us/op 2.0730 us/op 1.46
copy serialized SignedVoluntaryExit (112 B) 1.4830 us/op 1.2580 us/op 1.18
transfer serialized ProposerSlashing (416 B) 2.4520 us/op 2.0860 us/op 1.18
copy serialized ProposerSlashing (416 B) 1.4630 us/op 1.3130 us/op 1.11
transfer serialized Attestation (485 B) 2.5500 us/op 2.0900 us/op 1.22
copy serialized Attestation (485 B) 2.2710 us/op 1.3340 us/op 1.70
transfer serialized AttesterSlashing (33232 B) 3.0390 us/op 2.2360 us/op 1.36
copy serialized AttesterSlashing (33232 B) 4.1380 us/op 2.5610 us/op 1.62
transfer serialized Small SignedBeaconBlock (128000 B) 3.1200 us/op 2.2500 us/op 1.39
copy serialized Small SignedBeaconBlock (128000 B) 9.4540 us/op 5.6420 us/op 1.68
transfer serialized Avg SignedBeaconBlock (200000 B) 3.3770 us/op 2.3710 us/op 1.42
copy serialized Avg SignedBeaconBlock (200000 B) 15.635 us/op 8.0760 us/op 1.94
transfer serialized BlobsSidecar (524380 B) 3.6240 us/op 3.1360 us/op 1.16
copy serialized BlobsSidecar (524380 B) 63.709 us/op 98.126 us/op 0.65
transfer serialized Big SignedBeaconBlock (1000000 B) 3.8580 us/op 3.7150 us/op 1.04
copy serialized Big SignedBeaconBlock (1000000 B) 114.73 us/op 103.40 us/op 1.11
pass gossip attestations to forkchoice per slot 2.7965 ms/op 2.3647 ms/op 1.18
forkChoice updateHead vc 100000 bc 64 eq 0 531.15 us/op 391.32 us/op 1.36
forkChoice updateHead vc 600000 bc 64 eq 0 3.0358 ms/op 2.4035 ms/op 1.26
forkChoice updateHead vc 1000000 bc 64 eq 0 4.8362 ms/op 3.9577 ms/op 1.22
forkChoice updateHead vc 600000 bc 320 eq 0 2.8793 ms/op 2.3063 ms/op 1.25
forkChoice updateHead vc 600000 bc 1200 eq 0 2.9844 ms/op 2.4298 ms/op 1.23
forkChoice updateHead vc 600000 bc 7200 eq 0 3.2370 ms/op 2.6025 ms/op 1.24
forkChoice updateHead vc 600000 bc 64 eq 1000 10.739 ms/op 9.5745 ms/op 1.12
forkChoice updateHead vc 600000 bc 64 eq 10000 10.468 ms/op 9.3949 ms/op 1.11
forkChoice updateHead vc 600000 bc 64 eq 300000 13.746 ms/op 11.606 ms/op 1.18
computeDeltas 500000 validators 300 proto nodes 4.5596 ms/op 3.1952 ms/op 1.43
computeDeltas 500000 validators 1200 proto nodes 4.1088 ms/op 3.2043 ms/op 1.28
computeDeltas 500000 validators 7200 proto nodes 4.1002 ms/op 3.2804 ms/op 1.25
computeDeltas 750000 validators 300 proto nodes 6.3148 ms/op 4.8579 ms/op 1.30
computeDeltas 750000 validators 1200 proto nodes 6.2117 ms/op 4.9049 ms/op 1.27
computeDeltas 750000 validators 7200 proto nodes 6.2205 ms/op 4.9128 ms/op 1.27
computeDeltas 1400000 validators 300 proto nodes 12.087 ms/op 8.7364 ms/op 1.38
computeDeltas 1400000 validators 1200 proto nodes 12.152 ms/op 8.8423 ms/op 1.37
computeDeltas 1400000 validators 7200 proto nodes 12.194 ms/op 8.5752 ms/op 1.42
computeDeltas 2100000 validators 300 proto nodes 18.619 ms/op 13.960 ms/op 1.33
computeDeltas 2100000 validators 1200 proto nodes 19.232 ms/op 13.336 ms/op 1.44
computeDeltas 2100000 validators 7200 proto nodes 20.654 ms/op 13.807 ms/op 1.50
altair processAttestation - 250000 vs - 7PWei normalcase 2.3100 ms/op 1.6511 ms/op 1.40
altair processAttestation - 250000 vs - 7PWei worstcase 3.4976 ms/op 2.4471 ms/op 1.43
altair processAttestation - setStatus - 1/6 committees join 130.31 us/op 96.747 us/op 1.35
altair processAttestation - setStatus - 1/3 committees join 247.04 us/op 186.77 us/op 1.32
altair processAttestation - setStatus - 1/2 committees join 352.10 us/op 268.72 us/op 1.31
altair processAttestation - setStatus - 2/3 committees join 455.98 us/op 356.76 us/op 1.28
altair processAttestation - setStatus - 4/5 committees join 682.83 us/op 492.95 us/op 1.39
altair processAttestation - setStatus - 100% committees join 762.45 us/op 596.59 us/op 1.28
altair processBlock - 250000 vs - 7PWei normalcase 9.2963 ms/op 4.2457 ms/op 2.19
altair processBlock - 250000 vs - 7PWei normalcase hashState 36.858 ms/op 33.116 ms/op 1.11
altair processBlock - 250000 vs - 7PWei worstcase 41.463 ms/op 37.031 ms/op 1.12
altair processBlock - 250000 vs - 7PWei worstcase hashState 92.329 ms/op 88.196 ms/op 1.05
phase0 processBlock - 250000 vs - 7PWei normalcase 2.1397 ms/op 1.7591 ms/op 1.22
phase0 processBlock - 250000 vs - 7PWei worstcase 26.664 ms/op 22.678 ms/op 1.18
altair processEth1Data - 250000 vs - 7PWei normalcase 404.34 us/op 262.69 us/op 1.54
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 6.2790 us/op 5.3750 us/op 1.17
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 41.323 us/op 35.579 us/op 1.16
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 11.782 us/op 5.2510 us/op 2.24
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 9.7120 us/op 5.5550 us/op 1.75
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 175.02 us/op 149.47 us/op 1.17
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 2.3837 ms/op 1.3032 ms/op 1.83
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.5318 ms/op 1.6843 ms/op 1.50
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.4962 ms/op 1.7277 ms/op 1.44
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.8662 ms/op 3.5189 ms/op 1.38
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.4962 ms/op 1.7217 ms/op 1.45
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.7219 ms/op 3.6340 ms/op 1.30
Tree 40 250000 create 446.91 ms/op 345.33 ms/op 1.29
Tree 40 250000 get(125000) 148.82 ns/op 110.01 ns/op 1.35
Tree 40 250000 set(125000) 1.6107 us/op 1.3441 us/op 1.20
Tree 40 250000 toArray() 18.267 ms/op 10.518 ms/op 1.74
Tree 40 250000 iterate all - toArray() + loop 17.956 ms/op 10.517 ms/op 1.71
Tree 40 250000 iterate all - get(i) 56.880 ms/op 44.659 ms/op 1.27
Array 250000 create 3.3363 ms/op 1.9447 ms/op 1.72
Array 250000 clone - spread 1.4723 ms/op 638.96 us/op 2.30
Array 250000 get(125000) 0.45000 ns/op 0.59800 ns/op 0.75
Array 250000 set(125000) 0.49600 ns/op 0.61500 ns/op 0.81
Array 250000 iterate all - loop 96.633 us/op 77.251 us/op 1.25
phase0 afterProcessEpoch - 250000 vs - 7PWei 44.593 ms/op 38.951 ms/op 1.14
Array.fill - length 1000000 3.6019 ms/op 2.4828 ms/op 1.45
Array push - length 1000000 15.317 ms/op 9.6366 ms/op 1.59
Array.get 0.32028 ns/op 0.25764 ns/op 1.24
Uint8Array.get 0.50078 ns/op 0.34615 ns/op 1.45
phase0 beforeProcessEpoch - 250000 vs - 7PWei 16.887 ms/op 12.260 ms/op 1.38
altair processEpoch - mainnet_e81889 266.74 ms/op 212.60 ms/op 1.25
mainnet_e81889 - altair beforeProcessEpoch 20.088 ms/op 14.518 ms/op 1.38
mainnet_e81889 - altair processJustificationAndFinalization 6.3140 us/op 5.4190 us/op 1.17
mainnet_e81889 - altair processInactivityUpdates 4.5166 ms/op 3.5171 ms/op 1.28
mainnet_e81889 - altair processRewardsAndPenalties 40.537 ms/op 30.640 ms/op 1.32
mainnet_e81889 - altair processRegistryUpdates 734.00 ns/op 912.00 ns/op 0.80
mainnet_e81889 - altair processSlashings 199.00 ns/op 445.00 ns/op 0.45
mainnet_e81889 - altair processEth1DataReset 199.00 ns/op 440.00 ns/op 0.45
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.3396 ms/op 1.0247 ms/op 1.31
mainnet_e81889 - altair processSlashingsReset 1.0710 us/op 1.0710 us/op 1.00
mainnet_e81889 - altair processRandaoMixesReset 1.4700 us/op 1.6100 us/op 0.91
mainnet_e81889 - altair processHistoricalRootsUpdate 215.00 ns/op 443.00 ns/op 0.49
mainnet_e81889 - altair processParticipationFlagUpdates 584.00 ns/op 758.00 ns/op 0.77
mainnet_e81889 - altair processSyncCommitteeUpdates 152.00 ns/op 390.00 ns/op 0.39
mainnet_e81889 - altair afterProcessEpoch 47.417 ms/op 42.272 ms/op 1.12
capella processEpoch - mainnet_e217614 886.94 ms/op 954.00 ms/op 0.93
mainnet_e217614 - capella beforeProcessEpoch 67.538 ms/op 60.704 ms/op 1.11
mainnet_e217614 - capella processJustificationAndFinalization 6.0210 us/op 4.7880 us/op 1.26
mainnet_e217614 - capella processInactivityUpdates 15.267 ms/op 12.411 ms/op 1.23
mainnet_e217614 - capella processRewardsAndPenalties 194.95 ms/op 187.57 ms/op 1.04
mainnet_e217614 - capella processRegistryUpdates 8.9440 us/op 9.2820 us/op 0.96
mainnet_e217614 - capella processSlashings 187.00 ns/op 455.00 ns/op 0.41
mainnet_e217614 - capella processEth1DataReset 204.00 ns/op 445.00 ns/op 0.46
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.2449 ms/op 14.756 ms/op 0.29
mainnet_e217614 - capella processSlashingsReset 1.1650 us/op 1.0780 us/op 1.08
mainnet_e217614 - capella processRandaoMixesReset 1.4170 us/op 1.3210 us/op 1.07
mainnet_e217614 - capella processHistoricalRootsUpdate 188.00 ns/op 454.00 ns/op 0.41
mainnet_e217614 - capella processParticipationFlagUpdates 532.00 ns/op 772.00 ns/op 0.69
mainnet_e217614 - capella afterProcessEpoch 119.47 ms/op 109.99 ms/op 1.09
phase0 processEpoch - mainnet_e58758 321.91 ms/op 279.55 ms/op 1.15
mainnet_e58758 - phase0 beforeProcessEpoch 78.941 ms/op 72.104 ms/op 1.09
mainnet_e58758 - phase0 processJustificationAndFinalization 6.5290 us/op 4.4910 us/op 1.45
mainnet_e58758 - phase0 processRewardsAndPenalties 35.512 ms/op 37.217 ms/op 0.95
mainnet_e58758 - phase0 processRegistryUpdates 3.2550 us/op 3.6050 us/op 0.90
mainnet_e58758 - phase0 processSlashings 195.00 ns/op 440.00 ns/op 0.44
mainnet_e58758 - phase0 processEth1DataReset 183.00 ns/op 425.00 ns/op 0.43
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.3267 ms/op 928.86 us/op 1.43
mainnet_e58758 - phase0 processSlashingsReset 1.0530 us/op 1.2430 us/op 0.85
mainnet_e58758 - phase0 processRandaoMixesReset 1.7930 us/op 1.2830 us/op 1.40
mainnet_e58758 - phase0 processHistoricalRootsUpdate 202.00 ns/op 421.00 ns/op 0.48
mainnet_e58758 - phase0 processParticipationRecordUpdates 1.0220 us/op 1.2700 us/op 0.80
mainnet_e58758 - phase0 afterProcessEpoch 36.843 ms/op 33.834 ms/op 1.09
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.8465 ms/op 960.20 us/op 1.92
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.9036 ms/op 1.4209 ms/op 1.34
altair processInactivityUpdates - 250000 normalcase 23.054 ms/op 18.292 ms/op 1.26
altair processInactivityUpdates - 250000 worstcase 18.140 ms/op 18.967 ms/op 0.96
phase0 processRegistryUpdates - 250000 normalcase 9.2650 us/op 5.0500 us/op 1.83
phase0 processRegistryUpdates - 250000 badcase_full_deposits 436.39 us/op 289.66 us/op 1.51
phase0 processRegistryUpdates - 250000 worstcase 0.5 109.63 ms/op 112.10 ms/op 0.98
altair processRewardsAndPenalties - 250000 normalcase 27.519 ms/op 23.652 ms/op 1.16
altair processRewardsAndPenalties - 250000 worstcase 33.622 ms/op 22.569 ms/op 1.49
phase0 getAttestationDeltas - 250000 normalcase 10.205 ms/op 4.7250 ms/op 2.16
phase0 getAttestationDeltas - 250000 worstcase 6.0991 ms/op 5.6982 ms/op 1.07
phase0 processSlashings - 250000 worstcase 122.02 us/op 87.584 us/op 1.39
altair processSyncCommitteeUpdates - 250000 10.989 ms/op 9.2706 ms/op 1.19
BeaconState.hashTreeRoot - No change 234.00 ns/op 484.00 ns/op 0.48
BeaconState.hashTreeRoot - 1 full validator 107.64 us/op 59.814 us/op 1.80
BeaconState.hashTreeRoot - 32 full validator 799.47 us/op 626.40 us/op 1.28
BeaconState.hashTreeRoot - 512 full validator 10.682 ms/op 7.3565 ms/op 1.45
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 91.593 us/op 72.944 us/op 1.26
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.9400 ms/op 1.0509 ms/op 1.85
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 18.454 ms/op 15.139 ms/op 1.22
BeaconState.hashTreeRoot - 1 balances 90.878 us/op 66.827 us/op 1.36
BeaconState.hashTreeRoot - 32 balances 851.26 us/op 527.26 us/op 1.61
BeaconState.hashTreeRoot - 512 balances 7.1692 ms/op 5.5355 ms/op 1.30
BeaconState.hashTreeRoot - 250000 balances 200.85 ms/op 132.87 ms/op 1.51
aggregationBits - 2048 els - zipIndexesInBitList 22.545 us/op 19.256 us/op 1.17
byteArrayEquals 32 55.337 ns/op 58.771 ns/op 0.94
Buffer.compare 32 18.032 ns/op 15.550 ns/op 1.16
byteArrayEquals 1024 1.6167 us/op 1.2606 us/op 1.28
Buffer.compare 1024 25.647 ns/op 24.013 ns/op 1.07
byteArrayEquals 16384 25.585 us/op 19.813 us/op 1.29
Buffer.compare 16384 203.01 ns/op 161.81 ns/op 1.25
byteArrayEquals 123687377 195.45 ms/op 150.62 ms/op 1.30
Buffer.compare 123687377 6.7165 ms/op 3.8089 ms/op 1.76
byteArrayEquals 32 - diff last byte 53.409 ns/op 61.190 ns/op 0.87
Buffer.compare 32 - diff last byte 17.972 ns/op 17.510 ns/op 1.03
byteArrayEquals 1024 - diff last byte 1.6288 us/op 1.2899 us/op 1.26
Buffer.compare 1024 - diff last byte 27.925 ns/op 27.510 ns/op 1.02
byteArrayEquals 16384 - diff last byte 26.616 us/op 20.239 us/op 1.32
Buffer.compare 16384 - diff last byte 214.09 ns/op 169.58 ns/op 1.26
byteArrayEquals 123687377 - diff last byte 196.09 ms/op 152.58 ms/op 1.29
Buffer.compare 123687377 - diff last byte 6.2375 ms/op 3.8749 ms/op 1.61
byteArrayEquals 32 - random bytes 5.3860 ns/op 4.8820 ns/op 1.10
Buffer.compare 32 - random bytes 18.094 ns/op 17.882 ns/op 1.01
byteArrayEquals 1024 - random bytes 5.3170 ns/op 4.8740 ns/op 1.09
Buffer.compare 1024 - random bytes 18.058 ns/op 17.511 ns/op 1.03
byteArrayEquals 16384 - random bytes 5.2750 ns/op 4.8380 ns/op 1.09
Buffer.compare 16384 - random bytes 17.920 ns/op 17.388 ns/op 1.03
byteArrayEquals 123687377 - random bytes 8.4100 ns/op 8.0500 ns/op 1.04
Buffer.compare 123687377 - random bytes 23.060 ns/op 17.890 ns/op 1.29
regular array get 100000 times 44.077 us/op 29.273 us/op 1.51
wrappedArray get 100000 times 32.962 us/op 29.440 us/op 1.12
arrayWithProxy get 100000 times 12.860 ms/op 8.4621 ms/op 1.52
ssz.Root.equals 47.284 ns/op 41.713 ns/op 1.13
byteArrayEquals 46.432 ns/op 36.497 ns/op 1.27
Buffer.compare 10.742 ns/op 8.4510 ns/op 1.27
processSlot - 1 slots 10.614 us/op 8.8590 us/op 1.20
processSlot - 32 slots 3.4785 ms/op 2.1736 ms/op 1.60
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 2.8904 ms/op 3.0101 ms/op 0.96
getCommitteeAssignments - req 1 vs - 250000 vc 2.1955 ms/op 1.6067 ms/op 1.37
getCommitteeAssignments - req 100 vs - 250000 vc 4.1957 ms/op 3.2712 ms/op 1.28
getCommitteeAssignments - req 1000 vs - 250000 vc 4.4709 ms/op 3.4061 ms/op 1.31
findModifiedValidators - 10000 modified validators 728.35 ms/op 770.81 ms/op 0.94
findModifiedValidators - 1000 modified validators 760.22 ms/op 653.74 ms/op 1.16
findModifiedValidators - 100 modified validators 259.73 ms/op 237.73 ms/op 1.09
findModifiedValidators - 10 modified validators 191.21 ms/op 128.65 ms/op 1.49
findModifiedValidators - 1 modified validators 174.95 ms/op 164.42 ms/op 1.06
findModifiedValidators - no difference 148.94 ms/op 129.44 ms/op 1.15
compare ViewDUs 6.2370 s/op 6.1149 s/op 1.02
compare each validator Uint8Array 1.6103 s/op 1.7857 s/op 0.90
compare ViewDU to Uint8Array 1.0227 s/op 829.14 ms/op 1.23
migrate state 1000000 validators, 24 modified, 0 new 907.89 ms/op 832.97 ms/op 1.09
migrate state 1000000 validators, 1700 modified, 1000 new 1.1958 s/op 1.0409 s/op 1.15
migrate state 1000000 validators, 3400 modified, 2000 new 1.3124 s/op 1.1914 s/op 1.10
migrate state 1500000 validators, 24 modified, 0 new 929.00 ms/op 790.22 ms/op 1.18
migrate state 1500000 validators, 1700 modified, 1000 new 1.2227 s/op 1.0207 s/op 1.20
migrate state 1500000 validators, 3400 modified, 2000 new 1.4058 s/op 1.3295 s/op 1.06
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.3700 ns/op 6.0200 ns/op 0.73
state getBlockRootAtSlot - 250000 vs - 7PWei 544.12 ns/op 399.10 ns/op 1.36
naive computeProposerIndex 100000 validators 51.708 ms/op 42.966 ms/op 1.20
computeProposerIndex 100000 validators 1.5901 ms/op 1.2662 ms/op 1.26
naiveGetNextSyncCommitteeIndices 1000 validators 7.5309 s/op 6.3971 s/op 1.18
getNextSyncCommitteeIndices 1000 validators 116.56 ms/op 91.023 ms/op 1.28
naiveGetNextSyncCommitteeIndices 10000 validators 8.5012 s/op 5.7270 s/op 1.48
getNextSyncCommitteeIndices 10000 validators 120.21 ms/op 96.340 ms/op 1.25
naiveGetNextSyncCommitteeIndices 100000 validators 7.9570 s/op 6.0712 s/op 1.31
getNextSyncCommitteeIndices 100000 validators 114.18 ms/op 94.188 ms/op 1.21
naive computeShuffledIndex 100000 validators 23.575 s/op 21.907 s/op 1.08
cached computeShuffledIndex 100000 validators 568.27 ms/op 452.60 ms/op 1.26
naive computeShuffledIndex 2000000 validators 594.84 s/op 369.60 s/op 1.61
cached computeShuffledIndex 2000000 validators 39.793 s/op 16.647 s/op 2.39
computeProposers - vc 250000 696.01 us/op 546.63 us/op 1.27
computeEpochShuffling - vc 250000 45.569 ms/op 37.902 ms/op 1.20
getNextSyncCommittee - vc 250000 11.033 ms/op 9.0951 ms/op 1.21
computeSigningRoot for AttestationData 23.123 us/op 15.868 us/op 1.46
hash AttestationData serialized data then Buffer.toString(base64) 1.7400 us/op 1.2035 us/op 1.45
toHexString serialized data 1.3213 us/op 1.0020 us/op 1.32
Buffer.toString(base64) 166.61 ns/op 108.11 ns/op 1.54
nodejs block root to RootHex using toHex 153.51 ns/op 111.46 ns/op 1.38
nodejs block root to RootHex using toRootHex 89.623 ns/op 75.822 ns/op 1.18
browser block root to RootHex using the deprecated toHexString 224.10 ns/op 196.11 ns/op 1.14
browser block root to RootHex using toHex 187.03 ns/op 157.04 ns/op 1.19
browser block root to RootHex using toRootHex 169.52 ns/op 146.00 ns/op 1.16

by benchmarkbot/action

@philknows philknows merged commit edc35e4 into unstable Jul 15, 2025
47 of 48 checks passed
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.

3 participants