这是indexloc提供的服务,不要输入任何密码
Skip to content

Conversation

@philknows
Copy link
Member

Motivation

Client teams have been instructed to increase default gas limits to 60M for Fusaka.

Description

This will ensure that validators signal 60M by default and updates docs/tests to work with the new 60M configuration.

@philknows philknows requested a review from a team as a code owner November 3, 2025 14:45
@gemini-code-assist
Copy link
Contributor

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 implements a critical update to increase the default gas limit for validators to 60 million, as mandated for the Fusaka network. This change ensures that validators will signal and propose blocks with this higher gas limit by default, directly impacting the network's transaction processing capacity. The modifications span documentation, test configurations, and core validator settings to fully integrate this new standard.

Highlights

  • Increased Default Gas Limit: The default gas limit for validators has been raised to 60 million, aligning with new requirements for the Fusaka network.
  • Documentation Updates: Configuration examples in the documentation have been updated to reflect the new 60M gas limit.
  • Test Suite Adjustments: Various unit and E2E tests across different packages have been modified to use the new 60M gas limit, ensuring compatibility and correctness.
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 by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

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 pull request 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.

@philknows philknows added this to the v1.36.0 milestone Nov 3, 2025
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 increases the default gas limit to 60M as instructed for Fusaka. The changes are applied consistently across the codebase, including configuration, documentation, and tests. I've found one minor issue in the documentation where an example gas_limit was updated to a value that seems unusually low, which might be a typo. Otherwise, the changes look good and align with the PR's goal.

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@codecov
Copy link

codecov bot commented Nov 3, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 52.01%. Comparing base (f1c85de) to head (a3048d0).
⚠️ Report is 1 commits behind head on unstable.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #8600   +/-   ##
=========================================
  Coverage     52.01%   52.01%           
=========================================
  Files           848      848           
  Lines         65826    65826           
  Branches       4806     4806           
=========================================
  Hits          34241    34241           
  Misses        31517    31517           
  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.

@philknows philknows merged commit 698a315 into unstable Nov 3, 2025
22 of 27 checks passed
@philknows philknows deleted the philknows/bump-gas-limit branch November 3, 2025 15:23
@github-actions
Copy link
Contributor

github-actions bot commented Nov 3, 2025

⚠️ Performance Alert ⚠️

Possible performance regression was detected for some benchmarks.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold.

Benchmark suite Current: 1e9ca18 Previous: f1c85de Ratio
Full columns - reconstruct all 6 blobs 179.42 us/op 57.687 us/op 3.11
toHexString serialized data 5.3150 us/op 1.0106 us/op 5.26
nodejs block root to RootHex using the deprecated toHexString 1.0211 us/op 194.92 ns/op 5.24
browser block root to RootHex using toHex 710.32 ns/op 157.42 ns/op 4.51
Full benchmark results
Benchmark suite Current: 1e9ca18 Previous: f1c85de Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 895.74 us/op 709.94 us/op 1.26
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 36.489 us/op 30.076 us/op 1.21
BLS verify - blst 777.10 us/op 933.21 us/op 0.83
BLS verifyMultipleSignatures 3 - blst 1.2557 ms/op 1.3460 ms/op 0.93
BLS verifyMultipleSignatures 8 - blst 1.7130 ms/op 2.1389 ms/op 0.80
BLS verifyMultipleSignatures 32 - blst 5.0009 ms/op 4.5658 ms/op 1.10
BLS verifyMultipleSignatures 64 - blst 9.3491 ms/op 8.4878 ms/op 1.10
BLS verifyMultipleSignatures 128 - blst 18.124 ms/op 15.992 ms/op 1.13
BLS deserializing 10000 signatures 713.93 ms/op 633.72 ms/op 1.13
BLS deserializing 100000 signatures 7.3065 s/op 6.3552 s/op 1.15
BLS verifyMultipleSignatures - same message - 3 - blst 1.0588 ms/op 908.43 us/op 1.17
BLS verifyMultipleSignatures - same message - 8 - blst 1.1446 ms/op 1.0693 ms/op 1.07
BLS verifyMultipleSignatures - same message - 32 - blst 2.0065 ms/op 1.6421 ms/op 1.22
BLS verifyMultipleSignatures - same message - 64 - blst 2.8502 ms/op 2.2989 ms/op 1.24
BLS verifyMultipleSignatures - same message - 128 - blst 4.9279 ms/op 4.0854 ms/op 1.21
BLS aggregatePubkeys 32 - blst 20.444 us/op 17.370 us/op 1.18
BLS aggregatePubkeys 128 - blst 72.517 us/op 61.376 us/op 1.18
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 52.865 ms/op 49.413 ms/op 1.07
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 51.926 ms/op 37.259 ms/op 1.39
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 38.117 ms/op 36.761 ms/op 1.04
getSlashingsAndExits - default max 76.864 us/op 49.180 us/op 1.56
getSlashingsAndExits - 2k 427.70 us/op 256.47 us/op 1.67
isKnown best case - 1 super set check 220.00 ns/op 413.00 ns/op 0.53
isKnown normal case - 2 super set checks 213.00 ns/op 411.00 ns/op 0.52
isKnown worse case - 16 super set checks 217.00 ns/op 408.00 ns/op 0.53
InMemoryCheckpointStateCache - add get delete 2.8710 us/op 2.4410 us/op 1.18
validate api signedAggregateAndProof - struct 1.5418 ms/op 1.5206 ms/op 1.01
validate gossip signedAggregateAndProof - struct 1.5452 ms/op 1.8696 ms/op 0.83
batch validate gossip attestation - vc 640000 - chunk 32 130.51 us/op 111.06 us/op 1.18
batch validate gossip attestation - vc 640000 - chunk 64 111.29 us/op 91.839 us/op 1.21
batch validate gossip attestation - vc 640000 - chunk 128 108.10 us/op 84.717 us/op 1.28
batch validate gossip attestation - vc 640000 - chunk 256 109.06 us/op 89.192 us/op 1.22
pickEth1Vote - no votes 1.0245 ms/op 774.90 us/op 1.32
pickEth1Vote - max votes 9.5145 ms/op 6.1689 ms/op 1.54
pickEth1Vote - Eth1Data hashTreeRoot value x2048 14.998 ms/op 11.301 ms/op 1.33
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 21.208 ms/op 21.924 ms/op 0.97
pickEth1Vote - Eth1Data fastSerialize value x2048 453.80 us/op 333.54 us/op 1.36
pickEth1Vote - Eth1Data fastSerialize tree x2048 2.6170 ms/op 1.6735 ms/op 1.56
bytes32 toHexString 365.00 ns/op 492.00 ns/op 0.74
bytes32 Buffer.toString(hex) 242.00 ns/op 406.00 ns/op 0.60
bytes32 Buffer.toString(hex) from Uint8Array 341.00 ns/op 488.00 ns/op 0.70
bytes32 Buffer.toString(hex) + 0x 246.00 ns/op 411.00 ns/op 0.60
Object access 1 prop 0.11500 ns/op 0.37300 ns/op 0.31
Map access 1 prop 0.12100 ns/op 0.31600 ns/op 0.38
Object get x1000 6.3280 ns/op 5.0000 ns/op 1.27
Map get x1000 6.3120 ns/op 6.5540 ns/op 0.96
Object set x1000 34.914 ns/op 21.945 ns/op 1.59
Map set x1000 23.129 ns/op 20.791 ns/op 1.11
Return object 10000 times 0.30020 ns/op 0.28870 ns/op 1.04
Throw Error 10000 times 4.6052 us/op 3.8152 us/op 1.21
toHex 144.18 ns/op 100.22 ns/op 1.44
Buffer.from 126.15 ns/op 93.383 ns/op 1.35
shared Buffer 84.254 ns/op 67.960 ns/op 1.24
fastMsgIdFn sha256 / 200 bytes 2.2230 us/op 1.9310 us/op 1.15
fastMsgIdFn h32 xxhash / 200 bytes 218.00 ns/op 377.00 ns/op 0.58
fastMsgIdFn h64 xxhash / 200 bytes 264.00 ns/op 434.00 ns/op 0.61
fastMsgIdFn sha256 / 1000 bytes 7.3140 us/op 5.6740 us/op 1.29
fastMsgIdFn h32 xxhash / 1000 bytes 350.00 ns/op 502.00 ns/op 0.70
fastMsgIdFn h64 xxhash / 1000 bytes 341.00 ns/op 524.00 ns/op 0.65
fastMsgIdFn sha256 / 10000 bytes 67.595 us/op 49.722 us/op 1.36
fastMsgIdFn h32 xxhash / 10000 bytes 1.8710 us/op 1.9120 us/op 0.98
fastMsgIdFn h64 xxhash / 10000 bytes 1.2270 us/op 1.3450 us/op 0.91
100 bytes - compress - snappyjs 1.4965 us/op 1.3791 us/op 1.09
100 bytes - compress - snappy 1.2079 us/op 1.0761 us/op 1.12
100 bytes - compress - #snappy 1.5418 us/op 1.4151 us/op 1.09
200 bytes - compress - snappyjs 1.8748 us/op 1.3011 us/op 1.44
200 bytes - compress - snappy 1.4463 us/op 929.39 ns/op 1.56
200 bytes - compress - #snappy 2.3681 us/op 1.9105 us/op 1.24
300 bytes - compress - snappyjs 3.0268 us/op 1.8815 us/op 1.61
300 bytes - compress - snappy 1.4922 us/op 1.1288 us/op 1.32
300 bytes - compress - #snappy 2.6682 us/op 1.9195 us/op 1.39
400 bytes - compress - snappyjs 2.9784 us/op 1.9922 us/op 1.50
400 bytes - compress - snappy 1.4105 us/op 1.1380 us/op 1.24
400 bytes - compress - #snappy 2.9805 us/op 2.3544 us/op 1.27
500 bytes - compress - snappyjs 2.9799 us/op 2.3919 us/op 1.25
500 bytes - compress - snappy 1.4370 us/op 1.3072 us/op 1.10
500 bytes - compress - #snappy 3.0725 us/op 2.3316 us/op 1.32
1000 bytes - compress - snappyjs 4.5019 us/op 4.6570 us/op 0.97
1000 bytes - compress - snappy 1.5866 us/op 1.4854 us/op 1.07
1000 bytes - compress - #snappy 5.5934 us/op 3.9721 us/op 1.41
10000 bytes - compress - snappyjs 31.267 us/op 26.678 us/op 1.17
10000 bytes - compress - snappy 33.932 us/op 46.936 us/op 0.72
10000 bytes - compress - #snappy 30.708 us/op 25.431 us/op 1.21
100 bytes - uncompress - snappyjs 1.1695 us/op 502.67 ns/op 2.33
100 bytes - uncompress - snappy 1.1130 us/op 845.96 ns/op 1.32
100 bytes - uncompress - #snappy 728.69 ns/op 911.88 ns/op 0.80
200 bytes - uncompress - snappyjs 1.2440 us/op 1.8085 us/op 0.69
200 bytes - uncompress - snappy 1.4999 us/op 847.68 ns/op 1.77
200 bytes - uncompress - #snappy 1.4386 us/op 750.45 ns/op 1.92
300 bytes - uncompress - snappyjs 2.4594 us/op 993.57 ns/op 2.48
300 bytes - uncompress - snappy 1.1852 us/op 1.0569 us/op 1.12
300 bytes - uncompress - #snappy 1.2268 us/op 1.8869 us/op 0.65
400 bytes - uncompress - snappyjs 1.9105 us/op 1.6077 us/op 1.19
400 bytes - uncompress - snappy 1.3691 us/op 1.0137 us/op 1.35
400 bytes - uncompress - #snappy 1.9798 us/op 976.85 ns/op 2.03
500 bytes - uncompress - snappyjs 2.0402 us/op 1.1853 us/op 1.72
500 bytes - uncompress - snappy 1.6057 us/op 1.1260 us/op 1.43
500 bytes - uncompress - #snappy 1.8657 us/op 1.7103 us/op 1.09
1000 bytes - uncompress - snappyjs 2.7624 us/op 2.1361 us/op 1.29
1000 bytes - uncompress - snappy 1.7730 us/op 1.4064 us/op 1.26
1000 bytes - uncompress - #snappy 3.1139 us/op 2.2921 us/op 1.36
10000 bytes - uncompress - snappyjs 15.839 us/op 12.816 us/op 1.24
10000 bytes - uncompress - snappy 47.274 us/op 43.313 us/op 1.09
10000 bytes - uncompress - #snappy 15.994 us/op 12.864 us/op 1.24
send data - 1000 256B messages 19.459 ms/op 12.224 ms/op 1.59
send data - 1000 512B messages 24.050 ms/op 17.862 ms/op 1.35
send data - 1000 1024B messages 33.137 ms/op 21.831 ms/op 1.52
send data - 1000 1200B messages 33.347 ms/op 18.188 ms/op 1.83
send data - 1000 2048B messages 35.921 ms/op 19.253 ms/op 1.87
send data - 1000 4096B messages 36.221 ms/op 24.934 ms/op 1.45
send data - 1000 16384B messages 54.435 ms/op 31.168 ms/op 1.75
send data - 1000 65536B messages 133.78 ms/op 75.470 ms/op 1.77
enrSubnets - fastDeserialize 64 bits 926.00 ns/op 963.00 ns/op 0.96
enrSubnets - ssz BitVector 64 bits 339.00 ns/op 501.00 ns/op 0.68
enrSubnets - fastDeserialize 4 bits 132.00 ns/op 325.00 ns/op 0.41
enrSubnets - ssz BitVector 4 bits 330.00 ns/op 501.00 ns/op 0.66
prioritizePeers score -10:0 att 32-0.1 sync 2-0 271.86 us/op 294.85 us/op 0.92
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 302.93 us/op 353.64 us/op 0.86
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 419.50 us/op 453.18 us/op 0.93
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 794.45 us/op 733.66 us/op 1.08
prioritizePeers score 0:0 att 64-1 sync 4-1 945.32 us/op 1.1491 ms/op 0.82
array of 16000 items push then shift 1.6957 us/op 1.3002 us/op 1.30
LinkedList of 16000 items push then shift 8.8240 ns/op 6.4600 ns/op 1.37
array of 16000 items push then pop 89.188 ns/op 65.072 ns/op 1.37
LinkedList of 16000 items push then pop 8.0730 ns/op 6.3750 ns/op 1.27
array of 24000 items push then shift 2.4900 us/op 1.9081 us/op 1.30
LinkedList of 24000 items push then shift 8.8940 ns/op 6.4420 ns/op 1.38
array of 24000 items push then pop 125.86 ns/op 103.23 ns/op 1.22
LinkedList of 24000 items push then pop 9.3560 ns/op 6.2550 ns/op 1.50
intersect bitArray bitLen 8 6.5590 ns/op 5.3690 ns/op 1.22
intersect array and set length 8 40.866 ns/op 41.951 ns/op 0.97
intersect bitArray bitLen 128 30.595 ns/op 27.253 ns/op 1.12
intersect array and set length 128 672.54 ns/op 592.53 ns/op 1.14
bitArray.getTrueBitIndexes() bitLen 128 1.1930 us/op 1.3970 us/op 0.85
bitArray.getTrueBitIndexes() bitLen 248 1.9810 us/op 2.3710 us/op 0.84
bitArray.getTrueBitIndexes() bitLen 512 4.0700 us/op 4.0570 us/op 1.00
Full columns - reconstruct all 6 blobs 179.42 us/op 57.687 us/op 3.11
Full columns - reconstruct half of the blobs out of 6 56.167 us/op 31.724 us/op 1.77
Full columns - reconstruct single blob out of 6 23.447 us/op 14.839 us/op 1.58
Half columns - reconstruct all 6 blobs 288.89 ms/op 249.30 ms/op 1.16
Half columns - reconstruct half of the blobs out of 6 148.73 ms/op 128.82 ms/op 1.15
Half columns - reconstruct single blob out of 6 54.731 ms/op 50.643 ms/op 1.08
Full columns - reconstruct all 10 blobs 217.22 us/op 114.74 us/op 1.89
Full columns - reconstruct half of the blobs out of 10 105.23 us/op 58.072 us/op 1.81
Full columns - reconstruct single blob out of 10 31.412 us/op 18.007 us/op 1.74
Half columns - reconstruct all 10 blobs 479.14 ms/op 431.53 ms/op 1.11
Half columns - reconstruct half of the blobs out of 10 242.28 ms/op 218.50 ms/op 1.11
Half columns - reconstruct single blob out of 10 53.699 ms/op 49.934 ms/op 1.08
Full columns - reconstruct all 20 blobs 402.26 us/op 154.13 us/op 2.61
Full columns - reconstruct half of the blobs out of 20 193.47 us/op 79.463 us/op 2.43
Full columns - reconstruct single blob out of 20 26.169 us/op 13.388 us/op 1.95
Half columns - reconstruct all 20 blobs 967.11 ms/op 842.42 ms/op 1.15
Half columns - reconstruct half of the blobs out of 20 563.70 ms/op 427.75 ms/op 1.32
Half columns - reconstruct single blob out of 20 73.719 ms/op 44.940 ms/op 1.64
Buffer.concat 32 items 844.00 ns/op 753.00 ns/op 1.12
Uint8Array.set 32 items 2.0320 us/op 1.1790 us/op 1.72
Buffer.copy 2.8110 us/op 1.9810 us/op 1.42
Uint8Array.set - with subarray 3.3900 us/op 1.7170 us/op 1.97
Uint8Array.set - without subarray 2.0270 us/op 1.0820 us/op 1.87
getUint32 - dataview 202.00 ns/op 376.00 ns/op 0.54
getUint32 - manual 135.00 ns/op 308.00 ns/op 0.44
Set add up to 64 items then delete first 2.9624 us/op 1.9020 us/op 1.56
OrderedSet add up to 64 items then delete first 5.2143 us/op 2.7966 us/op 1.86
Set add up to 64 items then delete last 3.4721 us/op 2.0540 us/op 1.69
OrderedSet add up to 64 items then delete last 5.2148 us/op 3.1774 us/op 1.64
Set add up to 64 items then delete middle 3.4897 us/op 2.0839 us/op 1.67
OrderedSet add up to 64 items then delete middle 7.0900 us/op 5.2141 us/op 1.36
Set add up to 128 items then delete first 6.8666 us/op 4.0716 us/op 1.69
OrderedSet add up to 128 items then delete first 10.676 us/op 6.5082 us/op 1.64
Set add up to 128 items then delete last 7.0345 us/op 3.9588 us/op 1.78
OrderedSet add up to 128 items then delete last 10.323 us/op 6.1588 us/op 1.68
Set add up to 128 items then delete middle 6.1360 us/op 3.7514 us/op 1.64
OrderedSet add up to 128 items then delete middle 17.601 us/op 11.497 us/op 1.53
Set add up to 256 items then delete first 13.138 us/op 7.7944 us/op 1.69
OrderedSet add up to 256 items then delete first 21.839 us/op 12.468 us/op 1.75
Set add up to 256 items then delete last 13.159 us/op 7.4428 us/op 1.77
OrderedSet add up to 256 items then delete last 24.187 us/op 11.773 us/op 2.05
Set add up to 256 items then delete middle 13.296 us/op 9.3017 us/op 1.43
OrderedSet add up to 256 items then delete middle 52.057 us/op 34.607 us/op 1.50
transfer serialized Status (84 B) 2.4160 us/op 1.9960 us/op 1.21
copy serialized Status (84 B) 1.3930 us/op 1.2440 us/op 1.12
transfer serialized SignedVoluntaryExit (112 B) 2.3990 us/op 2.0870 us/op 1.15
copy serialized SignedVoluntaryExit (112 B) 1.3750 us/op 1.2570 us/op 1.09
transfer serialized ProposerSlashing (416 B) 2.4780 us/op 2.1010 us/op 1.18
copy serialized ProposerSlashing (416 B) 1.6590 us/op 1.2750 us/op 1.30
transfer serialized Attestation (485 B) 2.4520 us/op 2.1030 us/op 1.17
copy serialized Attestation (485 B) 1.4140 us/op 1.3160 us/op 1.07
transfer serialized AttesterSlashing (33232 B) 3.1010 us/op 2.0740 us/op 1.50
copy serialized AttesterSlashing (33232 B) 6.0840 us/op 3.4340 us/op 1.77
transfer serialized Small SignedBeaconBlock (128000 B) 5.3210 us/op 2.7410 us/op 1.94
copy serialized Small SignedBeaconBlock (128000 B) 21.742 us/op 7.7100 us/op 2.82
transfer serialized Avg SignedBeaconBlock (200000 B) 6.5650 us/op 3.1320 us/op 2.10
copy serialized Avg SignedBeaconBlock (200000 B) 26.441 us/op 10.933 us/op 2.42
transfer serialized BlobsSidecar (524380 B) 6.3530 us/op 4.4510 us/op 1.43
copy serialized BlobsSidecar (524380 B) 88.409 us/op 61.302 us/op 1.44
transfer serialized Big SignedBeaconBlock (1000000 B) 9.2450 us/op 5.7710 us/op 1.60
copy serialized Big SignedBeaconBlock (1000000 B) 233.05 us/op 119.25 us/op 1.95
pass gossip attestations to forkchoice per slot 2.9988 ms/op 2.4047 ms/op 1.25
forkChoice updateHead vc 100000 bc 64 eq 0 512.74 us/op 407.55 us/op 1.26
forkChoice updateHead vc 600000 bc 64 eq 0 3.0733 ms/op 2.4289 ms/op 1.27
forkChoice updateHead vc 1000000 bc 64 eq 0 5.2905 ms/op 3.9629 ms/op 1.34
forkChoice updateHead vc 600000 bc 320 eq 0 3.0966 ms/op 2.3839 ms/op 1.30
forkChoice updateHead vc 600000 bc 1200 eq 0 3.1521 ms/op 2.6361 ms/op 1.20
forkChoice updateHead vc 600000 bc 7200 eq 0 3.4372 ms/op 3.4311 ms/op 1.00
forkChoice updateHead vc 600000 bc 64 eq 1000 3.0024 ms/op 2.5262 ms/op 1.19
forkChoice updateHead vc 600000 bc 64 eq 10000 3.1214 ms/op 2.6145 ms/op 1.19
forkChoice updateHead vc 600000 bc 64 eq 300000 10.991 ms/op 8.2998 ms/op 1.32
computeDeltas 1400000 validators 0% inactive 14.945 ms/op 12.060 ms/op 1.24
computeDeltas 1400000 validators 10% inactive 13.898 ms/op 11.242 ms/op 1.24
computeDeltas 1400000 validators 20% inactive 12.261 ms/op 10.108 ms/op 1.21
computeDeltas 1400000 validators 50% inactive 9.2721 ms/op 7.6401 ms/op 1.21
computeDeltas 2100000 validators 0% inactive 21.956 ms/op 17.283 ms/op 1.27
computeDeltas 2100000 validators 10% inactive 20.140 ms/op 16.049 ms/op 1.25
computeDeltas 2100000 validators 20% inactive 18.917 ms/op 14.707 ms/op 1.29
computeDeltas 2100000 validators 50% inactive 14.268 ms/op 11.304 ms/op 1.26
altair processAttestation - 250000 vs - 7PWei normalcase 2.7187 ms/op 2.3506 ms/op 1.16
altair processAttestation - 250000 vs - 7PWei worstcase 3.9155 ms/op 3.0409 ms/op 1.29
altair processAttestation - setStatus - 1/6 committees join 168.13 us/op 112.92 us/op 1.49
altair processAttestation - setStatus - 1/3 committees join 316.79 us/op 194.82 us/op 1.63
altair processAttestation - setStatus - 1/2 committees join 389.82 us/op 270.20 us/op 1.44
altair processAttestation - setStatus - 2/3 committees join 508.21 us/op 362.73 us/op 1.40
altair processAttestation - setStatus - 4/5 committees join 679.78 us/op 515.64 us/op 1.32
altair processAttestation - setStatus - 100% committees join 802.97 us/op 618.23 us/op 1.30
altair processBlock - 250000 vs - 7PWei normalcase 5.6552 ms/op 7.7715 ms/op 0.73
altair processBlock - 250000 vs - 7PWei normalcase hashState 35.330 ms/op 28.169 ms/op 1.25
altair processBlock - 250000 vs - 7PWei worstcase 43.518 ms/op 39.451 ms/op 1.10
altair processBlock - 250000 vs - 7PWei worstcase hashState 91.330 ms/op 89.307 ms/op 1.02
phase0 processBlock - 250000 vs - 7PWei normalcase 2.0738 ms/op 1.7606 ms/op 1.18
phase0 processBlock - 250000 vs - 7PWei worstcase 30.101 ms/op 27.246 ms/op 1.10
altair processEth1Data - 250000 vs - 7PWei normalcase 363.53 us/op 270.72 us/op 1.34
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 9.6130 us/op 6.2860 us/op 1.53
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 73.160 us/op 34.657 us/op 2.11
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 15.513 us/op 14.105 us/op 1.10
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 9.9580 us/op 5.8640 us/op 1.70
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 202.19 us/op 165.80 us/op 1.22
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 2.1200 ms/op 1.4563 ms/op 1.46
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.6921 ms/op 1.9319 ms/op 1.39
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.7268 ms/op 1.8195 ms/op 1.50
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 5.7805 ms/op 5.1442 ms/op 1.12
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.8214 ms/op 2.0201 ms/op 1.40
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 6.5690 ms/op 4.8700 ms/op 1.35
Tree 40 250000 create 716.07 ms/op 512.60 ms/op 1.40
Tree 40 250000 get(125000) 148.96 ns/op 108.26 ns/op 1.38
Tree 40 250000 set(125000) 2.6248 us/op 1.1930 us/op 2.20
Tree 40 250000 toArray() 24.179 ms/op 11.555 ms/op 2.09
Tree 40 250000 iterate all - toArray() + loop 25.524 ms/op 16.121 ms/op 1.58
Tree 40 250000 iterate all - get(i) 66.413 ms/op 46.056 ms/op 1.44
Array 250000 create 4.8557 ms/op 2.4698 ms/op 1.97
Array 250000 clone - spread 1.8161 ms/op 664.77 us/op 2.73
Array 250000 get(125000) 0.44200 ns/op 0.56900 ns/op 0.78
Array 250000 set(125000) 0.46800 ns/op 0.58500 ns/op 0.80
Array 250000 iterate all - loop 89.167 us/op 100.43 us/op 0.89
phase0 afterProcessEpoch - 250000 vs - 7PWei 45.532 ms/op 39.449 ms/op 1.15
Array.fill - length 1000000 6.2592 ms/op 2.5510 ms/op 2.45
Array push - length 1000000 28.001 ms/op 12.129 ms/op 2.31
Array.get 0.31359 ns/op 0.26078 ns/op 1.20
Uint8Array.get 0.47241 ns/op 0.42290 ns/op 1.12
phase0 beforeProcessEpoch - 250000 vs - 7PWei 21.682 ms/op 19.808 ms/op 1.09
altair processEpoch - mainnet_e81889 295.49 ms/op 311.95 ms/op 0.95
mainnet_e81889 - altair beforeProcessEpoch 27.316 ms/op 19.909 ms/op 1.37
mainnet_e81889 - altair processJustificationAndFinalization 7.8970 us/op 4.7450 us/op 1.66
mainnet_e81889 - altair processInactivityUpdates 7.5850 ms/op 5.5675 ms/op 1.36
mainnet_e81889 - altair processRewardsAndPenalties 56.719 ms/op 37.493 ms/op 1.51
mainnet_e81889 - altair processRegistryUpdates 937.00 ns/op 917.00 ns/op 1.02
mainnet_e81889 - altair processSlashings 223.00 ns/op 429.00 ns/op 0.52
mainnet_e81889 - altair processEth1DataReset 294.00 ns/op 414.00 ns/op 0.71
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.2891 ms/op 1.1077 ms/op 1.16
mainnet_e81889 - altair processSlashingsReset 1.1060 us/op 1.2360 us/op 0.89
mainnet_e81889 - altair processRandaoMixesReset 1.4590 us/op 1.4820 us/op 0.98
mainnet_e81889 - altair processHistoricalRootsUpdate 190.00 ns/op 474.00 ns/op 0.40
mainnet_e81889 - altair processParticipationFlagUpdates 664.00 ns/op 878.00 ns/op 0.76
mainnet_e81889 - altair processSyncCommitteeUpdates 152.00 ns/op 410.00 ns/op 0.37
mainnet_e81889 - altair afterProcessEpoch 46.968 ms/op 43.329 ms/op 1.08
capella processEpoch - mainnet_e217614 1.0091 s/op 968.20 ms/op 1.04
mainnet_e217614 - capella beforeProcessEpoch 63.081 ms/op 69.286 ms/op 0.91
mainnet_e217614 - capella processJustificationAndFinalization 5.4740 us/op 4.9310 us/op 1.11
mainnet_e217614 - capella processInactivityUpdates 14.938 ms/op 13.871 ms/op 1.08
mainnet_e217614 - capella processRewardsAndPenalties 184.19 ms/op 187.51 ms/op 0.98
mainnet_e217614 - capella processRegistryUpdates 6.5690 us/op 5.3550 us/op 1.23
mainnet_e217614 - capella processSlashings 185.00 ns/op 405.00 ns/op 0.46
mainnet_e217614 - capella processEth1DataReset 177.00 ns/op 415.00 ns/op 0.43
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.1920 ms/op 3.7034 ms/op 1.13
mainnet_e217614 - capella processSlashingsReset 883.00 ns/op 1.1880 us/op 0.74
mainnet_e217614 - capella processRandaoMixesReset 1.1740 us/op 1.2620 us/op 0.93
mainnet_e217614 - capella processHistoricalRootsUpdate 182.00 ns/op 413.00 ns/op 0.44
mainnet_e217614 - capella processParticipationFlagUpdates 537.00 ns/op 882.00 ns/op 0.61
mainnet_e217614 - capella afterProcessEpoch 115.25 ms/op 111.43 ms/op 1.03
phase0 processEpoch - mainnet_e58758 317.37 ms/op 249.85 ms/op 1.27
mainnet_e58758 - phase0 beforeProcessEpoch 83.657 ms/op 69.649 ms/op 1.20
mainnet_e58758 - phase0 processJustificationAndFinalization 7.0440 us/op 6.0780 us/op 1.16
mainnet_e58758 - phase0 processRewardsAndPenalties 36.220 ms/op 39.544 ms/op 0.92
mainnet_e58758 - phase0 processRegistryUpdates 3.1720 us/op 2.8250 us/op 1.12
mainnet_e58758 - phase0 processSlashings 188.00 ns/op 409.00 ns/op 0.46
mainnet_e58758 - phase0 processEth1DataReset 186.00 ns/op 406.00 ns/op 0.46
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.1775 ms/op 978.54 us/op 1.20
mainnet_e58758 - phase0 processSlashingsReset 980.00 ns/op 1.2140 us/op 0.81
mainnet_e58758 - phase0 processRandaoMixesReset 1.1810 us/op 1.2710 us/op 0.93
mainnet_e58758 - phase0 processHistoricalRootsUpdate 184.00 ns/op 404.00 ns/op 0.46
mainnet_e58758 - phase0 processParticipationRecordUpdates 895.00 ns/op 1.2180 us/op 0.73
mainnet_e58758 - phase0 afterProcessEpoch 36.061 ms/op 35.128 ms/op 1.03
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.3700 ms/op 1.4009 ms/op 0.98
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.6060 ms/op 1.9521 ms/op 1.33
altair processInactivityUpdates - 250000 normalcase 18.630 ms/op 19.758 ms/op 0.94
altair processInactivityUpdates - 250000 worstcase 18.658 ms/op 17.691 ms/op 1.05
phase0 processRegistryUpdates - 250000 normalcase 6.9680 us/op 10.546 us/op 0.66
phase0 processRegistryUpdates - 250000 badcase_full_deposits 260.56 us/op 307.84 us/op 0.85
phase0 processRegistryUpdates - 250000 worstcase 0.5 117.11 ms/op 91.363 ms/op 1.28
altair processRewardsAndPenalties - 250000 normalcase 25.570 ms/op 28.563 ms/op 0.90
altair processRewardsAndPenalties - 250000 worstcase 26.282 ms/op 26.098 ms/op 1.01
phase0 getAttestationDeltas - 250000 normalcase 9.1305 ms/op 15.503 ms/op 0.59
phase0 getAttestationDeltas - 250000 worstcase 7.7067 ms/op 5.0119 ms/op 1.54
phase0 processSlashings - 250000 worstcase 112.18 us/op 87.356 us/op 1.28
altair processSyncCommitteeUpdates - 250000 11.636 ms/op 9.9347 ms/op 1.17
BeaconState.hashTreeRoot - No change 229.00 ns/op 442.00 ns/op 0.52
BeaconState.hashTreeRoot - 1 full validator 75.980 us/op 91.783 us/op 0.83
BeaconState.hashTreeRoot - 32 full validator 910.15 us/op 1.0377 ms/op 0.88
BeaconState.hashTreeRoot - 512 full validator 10.680 ms/op 8.4916 ms/op 1.26
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 96.005 us/op 85.927 us/op 1.12
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.4751 ms/op 1.2998 ms/op 1.13
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 23.549 ms/op 25.193 ms/op 0.93
BeaconState.hashTreeRoot - 1 balances 72.701 us/op 68.081 us/op 1.07
BeaconState.hashTreeRoot - 32 balances 1.0531 ms/op 647.13 us/op 1.63
BeaconState.hashTreeRoot - 512 balances 8.8227 ms/op 7.9198 ms/op 1.11
BeaconState.hashTreeRoot - 250000 balances 172.47 ms/op 145.61 ms/op 1.18
aggregationBits - 2048 els - zipIndexesInBitList 23.275 us/op 20.338 us/op 1.14
byteArrayEquals 32 55.361 ns/op 42.577 ns/op 1.30
Buffer.compare 32 17.478 ns/op 15.269 ns/op 1.14
byteArrayEquals 1024 1.6433 us/op 1.2566 us/op 1.31
Buffer.compare 1024 26.297 ns/op 22.045 ns/op 1.19
byteArrayEquals 16384 26.156 us/op 19.872 us/op 1.32
Buffer.compare 16384 187.83 ns/op 171.73 ns/op 1.09
byteArrayEquals 123687377 196.16 ms/op 156.81 ms/op 1.25
Buffer.compare 123687377 8.0370 ms/op 6.1248 ms/op 1.31
byteArrayEquals 32 - diff last byte 53.530 ns/op 43.508 ns/op 1.23
Buffer.compare 32 - diff last byte 17.101 ns/op 16.199 ns/op 1.06
byteArrayEquals 1024 - diff last byte 1.6176 us/op 1.3044 us/op 1.24
Buffer.compare 1024 - diff last byte 25.988 ns/op 24.750 ns/op 1.05
byteArrayEquals 16384 - diff last byte 25.748 us/op 20.749 us/op 1.24
Buffer.compare 16384 - diff last byte 183.03 ns/op 198.50 ns/op 0.92
byteArrayEquals 123687377 - diff last byte 199.73 ms/op 153.04 ms/op 1.31
Buffer.compare 123687377 - diff last byte 8.9433 ms/op 5.9997 ms/op 1.49
byteArrayEquals 32 - random bytes 5.1970 ns/op 4.9020 ns/op 1.06
Buffer.compare 32 - random bytes 17.326 ns/op 15.917 ns/op 1.09
byteArrayEquals 1024 - random bytes 5.1790 ns/op 4.8970 ns/op 1.06
Buffer.compare 1024 - random bytes 17.294 ns/op 15.619 ns/op 1.11
byteArrayEquals 16384 - random bytes 5.1850 ns/op 4.9250 ns/op 1.05
Buffer.compare 16384 - random bytes 17.298 ns/op 15.736 ns/op 1.10
byteArrayEquals 123687377 - random bytes 6.6000 ns/op 7.7000 ns/op 0.86
Buffer.compare 123687377 - random bytes 18.790 ns/op 18.430 ns/op 1.02
regular array get 100000 times 40.220 us/op 40.582 us/op 0.99
wrappedArray get 100000 times 34.139 us/op 40.834 us/op 0.84
arrayWithProxy get 100000 times 12.347 ms/op 8.7737 ms/op 1.41
ssz.Root.equals 48.485 ns/op 39.213 ns/op 1.24
byteArrayEquals 47.298 ns/op 38.922 ns/op 1.22
Buffer.compare 10.638 ns/op 8.9160 ns/op 1.19
processSlot - 1 slots 10.769 us/op 8.8990 us/op 1.21
processSlot - 32 slots 2.7498 ms/op 1.9431 ms/op 1.42
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 3.5883 ms/op 2.2156 ms/op 1.62
getCommitteeAssignments - req 1 vs - 250000 vc 2.1685 ms/op 1.8484 ms/op 1.17
getCommitteeAssignments - req 100 vs - 250000 vc 4.2293 ms/op 3.6539 ms/op 1.16
getCommitteeAssignments - req 1000 vs - 250000 vc 4.5051 ms/op 3.8541 ms/op 1.17
findModifiedValidators - 10000 modified validators 760.28 ms/op 801.14 ms/op 0.95
findModifiedValidators - 1000 modified validators 760.72 ms/op 757.71 ms/op 1.00
findModifiedValidators - 100 modified validators 192.99 ms/op 165.16 ms/op 1.17
findModifiedValidators - 10 modified validators 156.17 ms/op 144.55 ms/op 1.08
findModifiedValidators - 1 modified validators 199.29 ms/op 158.80 ms/op 1.25
findModifiedValidators - no difference 261.62 ms/op 146.22 ms/op 1.79
compare ViewDUs 6.8532 s/op 6.2111 s/op 1.10
compare each validator Uint8Array 1.3464 s/op 1.7226 s/op 0.78
compare ViewDU to Uint8Array 1.3731 s/op 1.1507 s/op 1.19
migrate state 1000000 validators, 24 modified, 0 new 1.0370 s/op 872.58 ms/op 1.19
migrate state 1000000 validators, 1700 modified, 1000 new 1.3463 s/op 1.1410 s/op 1.18
migrate state 1000000 validators, 3400 modified, 2000 new 1.3984 s/op 1.1941 s/op 1.17
migrate state 1500000 validators, 24 modified, 0 new 984.87 ms/op 846.95 ms/op 1.16
migrate state 1500000 validators, 1700 modified, 1000 new 1.1267 s/op 985.20 ms/op 1.14
migrate state 1500000 validators, 3400 modified, 2000 new 1.2828 s/op 1.3282 s/op 0.97
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.3800 ns/op 5.9900 ns/op 0.73
state getBlockRootAtSlot - 250000 vs - 7PWei 986.47 ns/op 538.50 ns/op 1.83
naive computeProposerIndex 100000 validators 53.358 ms/op 41.470 ms/op 1.29
computeProposerIndex 100000 validators 1.4927 ms/op 1.3251 ms/op 1.13
naiveGetNextSyncCommitteeIndices 1000 validators 7.6711 s/op 6.6554 s/op 1.15
getNextSyncCommitteeIndices 1000 validators 145.31 ms/op 98.065 ms/op 1.48
naiveGetNextSyncCommitteeIndices 10000 validators 7.4166 s/op 6.3109 s/op 1.18
getNextSyncCommitteeIndices 10000 validators 114.50 ms/op 96.513 ms/op 1.19
naiveGetNextSyncCommitteeIndices 100000 validators 7.5959 s/op 6.2937 s/op 1.21
getNextSyncCommitteeIndices 100000 validators 112.59 ms/op 95.933 ms/op 1.17
naive computeShuffledIndex 100000 validators 26.218 s/op 23.949 s/op 1.09
cached computeShuffledIndex 100000 validators 573.84 ms/op 508.05 ms/op 1.13
naive computeShuffledIndex 2000000 validators 556.58 s/op 419.58 s/op 1.33
cached computeShuffledIndex 2000000 validators 84.194 s/op 30.284 s/op 2.78
computeProposers - vc 250000 721.95 us/op 558.13 us/op 1.29
computeEpochShuffling - vc 250000 49.332 ms/op 39.533 ms/op 1.25
getNextSyncCommittee - vc 250000 13.250 ms/op 9.9644 ms/op 1.33
computeSigningRoot for AttestationData 53.370 us/op 21.064 us/op 2.53
hash AttestationData serialized data then Buffer.toString(base64) 2.1753 us/op 1.2289 us/op 1.77
toHexString serialized data 5.3150 us/op 1.0106 us/op 5.26
Buffer.toString(base64) 224.94 ns/op 109.54 ns/op 2.05
nodejs block root to RootHex using toHex 176.47 ns/op 110.75 ns/op 1.59
nodejs block root to RootHex using toRootHex 101.27 ns/op 76.369 ns/op 1.33
nodejs fromHex(blob) 141.68 us/op 97.082 us/op 1.46
nodejs fromHexInto(blob) 926.85 us/op 668.32 us/op 1.39
nodejs block root to RootHex using the deprecated toHexString 1.0211 us/op 194.92 ns/op 5.24
browser block root to RootHex using toHex 710.32 ns/op 157.42 ns/op 4.51
browser block root to RootHex using toRootHex 184.09 ns/op 147.93 ns/op 1.24
browser fromHex(blob) 926.99 us/op 669.81 us/op 1.38
browser fromHexInto(blob) 899.14 us/op 670.77 us/op 1.34
browser block root to RootHex using the deprecated toHexString 577.40 ns/op 741.24 ns/op 0.78

by benchmarkbot/action

@wemeetagain
Copy link
Member

🎉 This PR is included in v1.36.0 🎉

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