Skip to content
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

feat: increase default gas limit to 36M #7304

Merged
merged 2 commits into from
Jan 6, 2025

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Dec 16, 2024

Motivation

To scale Ethereum L1 we want to increase the gas limit. I think it's best if clients signal what they consider as a safe limit instead of users having to figure this out themselves via websites like pumpthegas. 36M is pretty conservative but due to further considerations related to block size / gossip limit it's the max gas limit we should advocate for right now.

Description

Increase default gas limit to 36M

Note: This only affects builder blocks as the CL currently has no control over which (target) gas limit the local EL should use until something like ethereum/execution-apis#608 is implemented. Users must set the desired gas limit on the EL client via CLI flag or other means (depends on client).

@nflaig nflaig requested a review from a team as a code owner December 16, 2024 13:01
@nflaig nflaig added the status-do-not-merge Merging this issue will break the build. Do not merge! label Dec 16, 2024
@@ -131,7 +131,7 @@ type ValidatorData = ProposerConfig & {

export const defaultOptions = {
suggestedFeeRecipient: "0x0000000000000000000000000000000000000000",
defaultGasLimit: 30_000_000,
defaultGasLimit: 36_000_000,
Copy link
Member Author

Choose a reason for hiding this comment

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

this is the relevant change, other changes are just examples or test data

Copy link
Member Author

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

should hold off merging this until our 1.24 release is out

Copy link
Contributor

github-actions bot commented Dec 16, 2024

Performance Report

✔️ no performance regression detected

🚀🚀 Significant benchmark improvement detected

Benchmark suite Current: 4824e0e Previous: 94dfa01 Ratio
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 4.9100 us/op 15.609 us/op 0.31
Full benchmark results
Benchmark suite Current: 4824e0e Previous: 94dfa01 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.7252 ms/op 1.7388 ms/op 0.99
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 50.203 us/op 45.118 us/op 1.11
BLS verify - blst 938.40 us/op 874.04 us/op 1.07
BLS verifyMultipleSignatures 3 - blst 1.3007 ms/op 1.3357 ms/op 0.97
BLS verifyMultipleSignatures 8 - blst 1.9642 ms/op 1.6293 ms/op 1.21
BLS verifyMultipleSignatures 32 - blst 4.6589 ms/op 5.3091 ms/op 0.88
BLS verifyMultipleSignatures 64 - blst 8.7387 ms/op 8.8297 ms/op 0.99
BLS verifyMultipleSignatures 128 - blst 16.712 ms/op 16.085 ms/op 1.04
BLS deserializing 10000 signatures 622.37 ms/op 632.80 ms/op 0.98
BLS deserializing 100000 signatures 6.2993 s/op 6.3350 s/op 0.99
BLS verifyMultipleSignatures - same message - 3 - blst 827.73 us/op 1.0532 ms/op 0.79
BLS verifyMultipleSignatures - same message - 8 - blst 1.0790 ms/op 1.1082 ms/op 0.97
BLS verifyMultipleSignatures - same message - 32 - blst 1.6316 ms/op 1.6821 ms/op 0.97
BLS verifyMultipleSignatures - same message - 64 - blst 2.4074 ms/op 2.5674 ms/op 0.94
BLS verifyMultipleSignatures - same message - 128 - blst 3.9587 ms/op 4.2311 ms/op 0.94
BLS aggregatePubkeys 32 - blst 18.296 us/op 18.466 us/op 0.99
BLS aggregatePubkeys 128 - blst 61.878 us/op 63.659 us/op 0.97
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 76.286 ms/op 53.921 ms/op 1.41
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 52.775 ms/op 46.505 ms/op 1.13
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 50.467 ms/op 40.628 ms/op 1.24
getSlashingsAndExits - default max 139.14 us/op 147.22 us/op 0.95
getSlashingsAndExits - 2k 397.57 us/op 469.91 us/op 0.85
proposeBlockBody type=full, size=empty 4.8622 ms/op 5.9462 ms/op 0.82
isKnown best case - 1 super set check 500.00 ns/op 618.00 ns/op 0.81
isKnown normal case - 2 super set checks 478.00 ns/op 577.00 ns/op 0.83
isKnown worse case - 16 super set checks 451.00 ns/op 503.00 ns/op 0.90
InMemoryCheckpointStateCache - add get delete 2.5430 us/op 3.3090 us/op 0.77
validate api signedAggregateAndProof - struct 2.0608 ms/op 1.9379 ms/op 1.06
validate gossip signedAggregateAndProof - struct 1.7426 ms/op 2.0322 ms/op 0.86
batch validate gossip attestation - vc 640000 - chunk 32 120.67 us/op 129.97 us/op 0.93
batch validate gossip attestation - vc 640000 - chunk 64 103.56 us/op 117.39 us/op 0.88
batch validate gossip attestation - vc 640000 - chunk 128 100.37 us/op 111.95 us/op 0.90
batch validate gossip attestation - vc 640000 - chunk 256 90.724 us/op 117.44 us/op 0.77
pickEth1Vote - no votes 845.27 us/op 894.84 us/op 0.94
pickEth1Vote - max votes 4.1030 ms/op 6.8786 ms/op 0.60
pickEth1Vote - Eth1Data hashTreeRoot value x2048 9.6194 ms/op 14.331 ms/op 0.67
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 13.494 ms/op 19.824 ms/op 0.68
pickEth1Vote - Eth1Data fastSerialize value x2048 375.62 us/op 372.66 us/op 1.01
pickEth1Vote - Eth1Data fastSerialize tree x2048 2.5208 ms/op 2.0213 ms/op 1.25
bytes32 toHexString 561.00 ns/op 591.00 ns/op 0.95
bytes32 Buffer.toString(hex) 416.00 ns/op 431.00 ns/op 0.97
bytes32 Buffer.toString(hex) from Uint8Array 507.00 ns/op 622.00 ns/op 0.82
bytes32 Buffer.toString(hex) + 0x 415.00 ns/op 421.00 ns/op 0.99
Object access 1 prop 0.32800 ns/op 0.35100 ns/op 0.93
Map access 1 prop 0.32100 ns/op 0.34500 ns/op 0.93
Object get x1000 5.1730 ns/op 5.2550 ns/op 0.98
Map get x1000 5.9250 ns/op 5.7980 ns/op 1.02
Object set x1000 22.504 ns/op 23.367 ns/op 0.96
Map set x1000 19.131 ns/op 20.171 ns/op 0.95
Return object 10000 times 0.30080 ns/op 0.30430 ns/op 0.99
Throw Error 10000 times 2.8403 us/op 2.8375 us/op 1.00
toHex 108.50 ns/op 111.21 ns/op 0.98
Buffer.from 101.39 ns/op 100.88 ns/op 1.01
shared Buffer 68.178 ns/op 68.075 ns/op 1.00
fastMsgIdFn sha256 / 200 bytes 1.9620 us/op 2.0980 us/op 0.94
fastMsgIdFn h32 xxhash / 200 bytes 418.00 ns/op 462.00 ns/op 0.90
fastMsgIdFn h64 xxhash / 200 bytes 449.00 ns/op 471.00 ns/op 0.95
fastMsgIdFn sha256 / 1000 bytes 6.0380 us/op 6.3370 us/op 0.95
fastMsgIdFn h32 xxhash / 1000 bytes 537.00 ns/op 637.00 ns/op 0.84
fastMsgIdFn h64 xxhash / 1000 bytes 520.00 ns/op 570.00 ns/op 0.91
fastMsgIdFn sha256 / 10000 bytes 49.951 us/op 49.557 us/op 1.01
fastMsgIdFn h32 xxhash / 10000 bytes 1.9420 us/op 2.0240 us/op 0.96
fastMsgIdFn h64 xxhash / 10000 bytes 1.3580 us/op 1.3760 us/op 0.99
send data - 1000 256B messages 9.8343 ms/op 12.246 ms/op 0.80
send data - 1000 512B messages 15.939 ms/op 14.553 ms/op 1.10
send data - 1000 1024B messages 20.624 ms/op 26.973 ms/op 0.76
send data - 1000 1200B messages 20.976 ms/op 28.143 ms/op 0.75
send data - 1000 2048B messages 26.011 ms/op 31.763 ms/op 0.82
send data - 1000 4096B messages 25.147 ms/op 30.897 ms/op 0.81
send data - 1000 16384B messages 62.416 ms/op 66.020 ms/op 0.95
send data - 1000 65536B messages 242.77 ms/op 258.70 ms/op 0.94
enrSubnets - fastDeserialize 64 bits 1.1430 us/op 1.0960 us/op 1.04
enrSubnets - ssz BitVector 64 bits 506.00 ns/op 526.00 ns/op 0.96
enrSubnets - fastDeserialize 4 bits 323.00 ns/op 354.00 ns/op 0.91
enrSubnets - ssz BitVector 4 bits 501.00 ns/op 535.00 ns/op 0.94
prioritizePeers score -10:0 att 32-0.1 sync 2-0 106.93 us/op 120.09 us/op 0.89
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 131.00 us/op 136.98 us/op 0.96
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 190.90 us/op 191.09 us/op 1.00
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 328.74 us/op 334.08 us/op 0.98
prioritizePeers score 0:0 att 64-1 sync 4-1 409.12 us/op 406.98 us/op 1.01
array of 16000 items push then shift 1.3032 us/op 1.3282 us/op 0.98
LinkedList of 16000 items push then shift 6.4430 ns/op 6.4440 ns/op 1.00
array of 16000 items push then pop 76.750 ns/op 81.146 ns/op 0.95
LinkedList of 16000 items push then pop 6.3650 ns/op 6.4060 ns/op 0.99
array of 24000 items push then shift 1.9080 us/op 1.9194 us/op 0.99
LinkedList of 24000 items push then shift 6.5020 ns/op 7.6360 ns/op 0.85
array of 24000 items push then pop 105.68 ns/op 124.08 ns/op 0.85
LinkedList of 24000 items push then pop 6.5200 ns/op 6.3290 ns/op 1.03
intersect bitArray bitLen 8 5.4940 ns/op 5.5690 ns/op 0.99
intersect array and set length 8 37.888 ns/op 37.877 ns/op 1.00
intersect bitArray bitLen 128 27.000 ns/op 27.458 ns/op 0.98
intersect array and set length 128 575.52 ns/op 616.59 ns/op 0.93
bitArray.getTrueBitIndexes() bitLen 128 1.3610 us/op 1.7270 us/op 0.79
bitArray.getTrueBitIndexes() bitLen 248 2.0740 us/op 2.8360 us/op 0.73
bitArray.getTrueBitIndexes() bitLen 512 3.8160 us/op 4.8920 us/op 0.78
Buffer.concat 32 items 887.00 ns/op 1.0500 us/op 0.84
Uint8Array.set 32 items 1.4490 us/op 2.1440 us/op 0.68
Buffer.copy 2.3190 us/op 2.9760 us/op 0.78
Uint8Array.set - with subarray 2.0710 us/op 3.0000 us/op 0.69
Uint8Array.set - without subarray 1.4190 us/op 2.2470 us/op 0.63
getUint32 - dataview 378.00 ns/op 410.00 ns/op 0.92
getUint32 - manual 322.00 ns/op 345.00 ns/op 0.93
Set add up to 64 items then delete first 1.7386 us/op 1.7593 us/op 0.99
OrderedSet add up to 64 items then delete first 2.6910 us/op 2.7376 us/op 0.98
Set add up to 64 items then delete last 2.0300 us/op 2.0077 us/op 1.01
OrderedSet add up to 64 items then delete last 3.0966 us/op 3.0299 us/op 1.02
Set add up to 64 items then delete middle 2.0159 us/op 2.0173 us/op 1.00
OrderedSet add up to 64 items then delete middle 4.4854 us/op 4.5565 us/op 0.98
Set add up to 128 items then delete first 3.8747 us/op 4.0156 us/op 0.96
OrderedSet add up to 128 items then delete first 5.8000 us/op 6.2827 us/op 0.92
Set add up to 128 items then delete last 3.8642 us/op 4.6154 us/op 0.84
OrderedSet add up to 128 items then delete last 5.9684 us/op 6.1965 us/op 0.96
Set add up to 128 items then delete middle 3.8538 us/op 4.4215 us/op 0.87
OrderedSet add up to 128 items then delete middle 11.714 us/op 11.563 us/op 1.01
Set add up to 256 items then delete first 7.5723 us/op 7.7958 us/op 0.97
OrderedSet add up to 256 items then delete first 11.440 us/op 12.579 us/op 0.91
Set add up to 256 items then delete last 7.5892 us/op 7.5835 us/op 1.00
OrderedSet add up to 256 items then delete last 11.820 us/op 11.749 us/op 1.01
Set add up to 256 items then delete middle 7.5207 us/op 7.5338 us/op 1.00
OrderedSet add up to 256 items then delete middle 32.554 us/op 34.798 us/op 0.94
transfer serialized Status (84 B) 2.2330 us/op 2.3700 us/op 0.94
copy serialized Status (84 B) 1.3660 us/op 1.5620 us/op 0.87
transfer serialized SignedVoluntaryExit (112 B) 2.3680 us/op 2.3210 us/op 1.02
copy serialized SignedVoluntaryExit (112 B) 1.3730 us/op 1.4460 us/op 0.95
transfer serialized ProposerSlashing (416 B) 2.6000 us/op 2.4630 us/op 1.06
copy serialized ProposerSlashing (416 B) 2.4820 us/op 1.5890 us/op 1.56
transfer serialized Attestation (485 B) 3.0640 us/op 2.4560 us/op 1.25
copy serialized Attestation (485 B) 2.4920 us/op 1.9630 us/op 1.27
transfer serialized AttesterSlashing (33232 B) 3.3280 us/op 2.3830 us/op 1.40
copy serialized AttesterSlashing (33232 B) 5.9890 us/op 3.8050 us/op 1.57
transfer serialized Small SignedBeaconBlock (128000 B) 3.5550 us/op 2.4030 us/op 1.48
copy serialized Small SignedBeaconBlock (128000 B) 12.749 us/op 12.284 us/op 1.04
transfer serialized Avg SignedBeaconBlock (200000 B) 3.1210 us/op 2.5110 us/op 1.24
copy serialized Avg SignedBeaconBlock (200000 B) 16.847 us/op 11.270 us/op 1.49
transfer serialized BlobsSidecar (524380 B) 3.6140 us/op 3.2820 us/op 1.10
copy serialized BlobsSidecar (524380 B) 64.961 us/op 85.778 us/op 0.76
transfer serialized Big SignedBeaconBlock (1000000 B) 3.9340 us/op 4.3720 us/op 0.90
copy serialized Big SignedBeaconBlock (1000000 B) 129.07 us/op 127.88 us/op 1.01
pass gossip attestations to forkchoice per slot 2.2924 ms/op 2.4384 ms/op 0.94
forkChoice updateHead vc 100000 bc 64 eq 0 332.81 us/op 369.38 us/op 0.90
forkChoice updateHead vc 600000 bc 64 eq 0 2.2531 ms/op 2.4299 ms/op 0.93
forkChoice updateHead vc 1000000 bc 64 eq 0 3.7404 ms/op 3.6777 ms/op 1.02
forkChoice updateHead vc 600000 bc 320 eq 0 2.0557 ms/op 2.2454 ms/op 0.92
forkChoice updateHead vc 600000 bc 1200 eq 0 2.1430 ms/op 2.2903 ms/op 0.94
forkChoice updateHead vc 600000 bc 7200 eq 0 2.2769 ms/op 2.4446 ms/op 0.93
forkChoice updateHead vc 600000 bc 64 eq 1000 9.4279 ms/op 8.9252 ms/op 1.06
forkChoice updateHead vc 600000 bc 64 eq 10000 8.7536 ms/op 8.8108 ms/op 0.99
forkChoice updateHead vc 600000 bc 64 eq 300000 11.312 ms/op 10.647 ms/op 1.06
computeDeltas 500000 validators 300 proto nodes 3.2031 ms/op 3.2365 ms/op 0.99
computeDeltas 500000 validators 1200 proto nodes 3.2005 ms/op 3.1438 ms/op 1.02
computeDeltas 500000 validators 7200 proto nodes 3.1637 ms/op 3.1697 ms/op 1.00
computeDeltas 750000 validators 300 proto nodes 4.8873 ms/op 4.8219 ms/op 1.01
computeDeltas 750000 validators 1200 proto nodes 4.7628 ms/op 4.7807 ms/op 1.00
computeDeltas 750000 validators 7200 proto nodes 4.7081 ms/op 5.0349 ms/op 0.94
computeDeltas 1400000 validators 300 proto nodes 9.2616 ms/op 9.2768 ms/op 1.00
computeDeltas 1400000 validators 1200 proto nodes 9.1364 ms/op 9.4152 ms/op 0.97
computeDeltas 1400000 validators 7200 proto nodes 9.1424 ms/op 9.4016 ms/op 0.97
computeDeltas 2100000 validators 300 proto nodes 13.520 ms/op 13.629 ms/op 0.99
computeDeltas 2100000 validators 1200 proto nodes 13.480 ms/op 14.051 ms/op 0.96
computeDeltas 2100000 validators 7200 proto nodes 13.873 ms/op 14.449 ms/op 0.96
altair processAttestation - 250000 vs - 7PWei normalcase 1.4738 ms/op 1.5178 ms/op 0.97
altair processAttestation - 250000 vs - 7PWei worstcase 2.2664 ms/op 2.3795 ms/op 0.95
altair processAttestation - setStatus - 1/6 committees join 99.947 us/op 109.09 us/op 0.92
altair processAttestation - setStatus - 1/3 committees join 183.90 us/op 185.55 us/op 0.99
altair processAttestation - setStatus - 1/2 committees join 275.32 us/op 287.85 us/op 0.96
altair processAttestation - setStatus - 2/3 committees join 356.65 us/op 378.26 us/op 0.94
altair processAttestation - setStatus - 4/5 committees join 497.52 us/op 499.48 us/op 1.00
altair processAttestation - setStatus - 100% committees join 580.49 us/op 660.56 us/op 0.88
altair processBlock - 250000 vs - 7PWei normalcase 3.4796 ms/op 5.3933 ms/op 0.65
altair processBlock - 250000 vs - 7PWei normalcase hashState 24.442 ms/op 44.781 ms/op 0.55
altair processBlock - 250000 vs - 7PWei worstcase 36.339 ms/op 38.428 ms/op 0.95
altair processBlock - 250000 vs - 7PWei worstcase hashState 76.465 ms/op 102.45 ms/op 0.75
phase0 processBlock - 250000 vs - 7PWei normalcase 1.4718 ms/op 2.7796 ms/op 0.53
phase0 processBlock - 250000 vs - 7PWei worstcase 23.436 ms/op 27.036 ms/op 0.87
altair processEth1Data - 250000 vs - 7PWei normalcase 259.90 us/op 545.08 us/op 0.48
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 7.3100 us/op 9.7840 us/op 0.75
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 48.839 us/op 58.605 us/op 0.83
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 4.9100 us/op 15.609 us/op 0.31
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 5.6150 us/op 12.316 us/op 0.46
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 161.76 us/op 124.23 us/op 1.30
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.5569 ms/op 1.0787 ms/op 1.44
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.0082 ms/op 1.2763 ms/op 0.79
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.2072 ms/op 1.3555 ms/op 0.89
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.1839 ms/op 5.2898 ms/op 0.60
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.1597 ms/op 1.4560 ms/op 0.80
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.4260 ms/op 3.8898 ms/op 0.88
Tree 40 250000 create 174.47 ms/op 341.10 ms/op 0.51
Tree 40 250000 get(125000) 113.76 ns/op 130.08 ns/op 0.87
Tree 40 250000 set(125000) 518.23 ns/op 513.83 ns/op 1.01
Tree 40 250000 toArray() 13.740 ms/op 18.792 ms/op 0.73
Tree 40 250000 iterate all - toArray() + loop 13.368 ms/op 20.420 ms/op 0.65
Tree 40 250000 iterate all - get(i) 41.042 ms/op 52.764 ms/op 0.78
Array 250000 create 2.3867 ms/op 2.7860 ms/op 0.86
Array 250000 clone - spread 1.2503 ms/op 1.1840 ms/op 1.06
Array 250000 get(125000) 0.56100 ns/op 0.58900 ns/op 0.95
Array 250000 set(125000) 0.60900 ns/op 0.59600 ns/op 1.02
Array 250000 iterate all - loop 74.188 us/op 77.969 us/op 0.95
phase0 afterProcessEpoch - 250000 vs - 7PWei 42.288 ms/op 42.464 ms/op 1.00
Array.fill - length 1000000 2.5251 ms/op 2.4544 ms/op 1.03
Array push - length 1000000 13.610 ms/op 14.289 ms/op 0.95
Array.get 0.25614 ns/op 0.26370 ns/op 0.97
Uint8Array.get 0.34191 ns/op 0.33979 ns/op 1.01
phase0 beforeProcessEpoch - 250000 vs - 7PWei 13.278 ms/op 16.234 ms/op 0.82
altair processEpoch - mainnet_e81889 275.32 ms/op 270.01 ms/op 1.02
mainnet_e81889 - altair beforeProcessEpoch 17.097 ms/op 16.257 ms/op 1.05
mainnet_e81889 - altair processJustificationAndFinalization 12.713 us/op 9.5200 us/op 1.34
mainnet_e81889 - altair processInactivityUpdates 4.5030 ms/op 4.0456 ms/op 1.11
mainnet_e81889 - altair processRewardsAndPenalties 52.168 ms/op 53.366 ms/op 0.98
mainnet_e81889 - altair processRegistryUpdates 2.9170 us/op 2.2900 us/op 1.27
mainnet_e81889 - altair processSlashings 754.00 ns/op 824.00 ns/op 0.92
mainnet_e81889 - altair processEth1DataReset 835.00 ns/op 880.00 ns/op 0.95
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.6353 ms/op 1.6276 ms/op 1.00
mainnet_e81889 - altair processSlashingsReset 3.7280 us/op 2.5670 us/op 1.45
mainnet_e81889 - altair processRandaoMixesReset 4.5970 us/op 3.0290 us/op 1.52
mainnet_e81889 - altair processHistoricalRootsUpdate 1.5020 us/op 813.00 ns/op 1.85
mainnet_e81889 - altair processParticipationFlagUpdates 2.4430 us/op 2.4660 us/op 0.99
mainnet_e81889 - altair processSyncCommitteeUpdates 959.00 ns/op 841.00 ns/op 1.14
mainnet_e81889 - altair afterProcessEpoch 41.069 ms/op 42.743 ms/op 0.96
capella processEpoch - mainnet_e217614 973.49 ms/op 952.23 ms/op 1.02
mainnet_e217614 - capella beforeProcessEpoch 68.896 ms/op 73.968 ms/op 0.93
mainnet_e217614 - capella processJustificationAndFinalization 13.154 us/op 9.0150 us/op 1.46
mainnet_e217614 - capella processInactivityUpdates 12.688 ms/op 11.622 ms/op 1.09
mainnet_e217614 - capella processRewardsAndPenalties 239.13 ms/op 241.60 ms/op 0.99
mainnet_e217614 - capella processRegistryUpdates 15.629 us/op 18.636 us/op 0.84
mainnet_e217614 - capella processSlashings 817.00 ns/op 885.00 ns/op 0.92
mainnet_e217614 - capella processEth1DataReset 828.00 ns/op 1.0300 us/op 0.80
mainnet_e217614 - capella processEffectiveBalanceUpdates 12.013 ms/op 7.1273 ms/op 1.69
mainnet_e217614 - capella processSlashingsReset 2.4320 us/op 2.3700 us/op 1.03
mainnet_e217614 - capella processRandaoMixesReset 3.5180 us/op 3.2770 us/op 1.07
mainnet_e217614 - capella processHistoricalRootsUpdate 841.00 ns/op 861.00 ns/op 0.98
mainnet_e217614 - capella processParticipationFlagUpdates 2.9990 us/op 1.8260 us/op 1.64
mainnet_e217614 - capella afterProcessEpoch 105.69 ms/op 101.97 ms/op 1.04
phase0 processEpoch - mainnet_e58758 306.56 ms/op 320.51 ms/op 0.96
mainnet_e58758 - phase0 beforeProcessEpoch 99.005 ms/op 83.083 ms/op 1.19
mainnet_e58758 - phase0 processJustificationAndFinalization 25.784 us/op 12.577 us/op 2.05
mainnet_e58758 - phase0 processRewardsAndPenalties 36.072 ms/op 29.139 ms/op 1.24
mainnet_e58758 - phase0 processRegistryUpdates 14.122 us/op 7.8650 us/op 1.80
mainnet_e58758 - phase0 processSlashings 1.4520 us/op 895.00 ns/op 1.62
mainnet_e58758 - phase0 processEth1DataReset 1.2340 us/op 841.00 ns/op 1.47
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.1741 ms/op 1.3916 ms/op 0.84
mainnet_e58758 - phase0 processSlashingsReset 4.8770 us/op 2.2170 us/op 2.20
mainnet_e58758 - phase0 processRandaoMixesReset 7.9430 us/op 3.2760 us/op 2.42
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.6910 us/op 811.00 ns/op 2.09
mainnet_e58758 - phase0 processParticipationRecordUpdates 9.1010 us/op 4.9560 us/op 1.84
mainnet_e58758 - phase0 afterProcessEpoch 41.129 ms/op 37.018 ms/op 1.11
phase0 processEffectiveBalanceUpdates - 250000 normalcase 2.0213 ms/op 977.12 us/op 2.07
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.9500 ms/op 1.4605 ms/op 2.02
altair processInactivityUpdates - 250000 normalcase 22.399 ms/op 15.242 ms/op 1.47
altair processInactivityUpdates - 250000 worstcase 18.676 ms/op 16.022 ms/op 1.17
phase0 processRegistryUpdates - 250000 normalcase 18.373 us/op 8.8970 us/op 2.07
phase0 processRegistryUpdates - 250000 badcase_full_deposits 377.65 us/op 360.84 us/op 1.05
phase0 processRegistryUpdates - 250000 worstcase 0.5 127.67 ms/op 102.19 ms/op 1.25
altair processRewardsAndPenalties - 250000 normalcase 63.306 ms/op 46.659 ms/op 1.36
altair processRewardsAndPenalties - 250000 worstcase 46.271 ms/op 42.668 ms/op 1.08
phase0 getAttestationDeltas - 250000 normalcase 6.0182 ms/op 5.8885 ms/op 1.02
phase0 getAttestationDeltas - 250000 worstcase 7.1964 ms/op 5.9130 ms/op 1.22
phase0 processSlashings - 250000 worstcase 84.553 us/op 94.455 us/op 0.90
altair processSyncCommitteeUpdates - 250000 106.89 ms/op 97.069 ms/op 1.10
BeaconState.hashTreeRoot - No change 492.00 ns/op 465.00 ns/op 1.06
BeaconState.hashTreeRoot - 1 full validator 125.79 us/op 119.74 us/op 1.05
BeaconState.hashTreeRoot - 32 full validator 949.04 us/op 1.1812 ms/op 0.80
BeaconState.hashTreeRoot - 512 full validator 7.7013 ms/op 10.411 ms/op 0.74
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 92.421 us/op 138.11 us/op 0.67
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.6759 ms/op 1.8345 ms/op 0.91
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 23.068 ms/op 26.427 ms/op 0.87
BeaconState.hashTreeRoot - 1 balances 99.215 us/op 100.76 us/op 0.98
BeaconState.hashTreeRoot - 32 balances 1.1215 ms/op 1.1144 ms/op 1.01
BeaconState.hashTreeRoot - 512 balances 7.6482 ms/op 7.7607 ms/op 0.99
BeaconState.hashTreeRoot - 250000 balances 186.69 ms/op 176.14 ms/op 1.06
aggregationBits - 2048 els - zipIndexesInBitList 23.033 us/op 19.187 us/op 1.20
byteArrayEquals 32 51.120 ns/op 46.784 ns/op 1.09
Buffer.compare 32 17.147 ns/op 15.660 ns/op 1.09
byteArrayEquals 1024 1.2228 us/op 1.2797 us/op 0.96
Buffer.compare 1024 23.108 ns/op 23.484 ns/op 0.98
byteArrayEquals 16384 19.333 us/op 20.244 us/op 0.96
Buffer.compare 16384 193.87 ns/op 181.76 ns/op 1.07
byteArrayEquals 123687377 152.30 ms/op 149.96 ms/op 1.02
Buffer.compare 123687377 4.4701 ms/op 5.3530 ms/op 0.84
byteArrayEquals 32 - diff last byte 47.432 ns/op 46.239 ns/op 1.03
Buffer.compare 32 - diff last byte 15.855 ns/op 15.223 ns/op 1.04
byteArrayEquals 1024 - diff last byte 1.3400 us/op 1.2155 us/op 1.10
Buffer.compare 1024 - diff last byte 24.603 ns/op 21.748 ns/op 1.13
byteArrayEquals 16384 - diff last byte 19.992 us/op 19.321 us/op 1.03
Buffer.compare 16384 - diff last byte 203.17 ns/op 162.18 ns/op 1.25
byteArrayEquals 123687377 - diff last byte 152.11 ms/op 145.34 ms/op 1.05
Buffer.compare 123687377 - diff last byte 3.7993 ms/op 3.7707 ms/op 1.01
byteArrayEquals 32 - random bytes 4.8660 ns/op 4.8910 ns/op 0.99
Buffer.compare 32 - random bytes 16.151 ns/op 15.837 ns/op 1.02
byteArrayEquals 1024 - random bytes 4.8140 ns/op 4.8720 ns/op 0.99
Buffer.compare 1024 - random bytes 16.180 ns/op 15.873 ns/op 1.02
byteArrayEquals 16384 - random bytes 4.8510 ns/op 4.8770 ns/op 0.99
Buffer.compare 16384 - random bytes 16.365 ns/op 16.030 ns/op 1.02
byteArrayEquals 123687377 - random bytes 7.6100 ns/op 7.6800 ns/op 0.99
Buffer.compare 123687377 - random bytes 19.110 ns/op 19.010 ns/op 1.01
regular array get 100000 times 30.794 us/op 30.692 us/op 1.00
wrappedArray get 100000 times 30.775 us/op 30.660 us/op 1.00
arrayWithProxy get 100000 times 9.5125 ms/op 9.9287 ms/op 0.96
ssz.Root.equals 43.485 ns/op 43.495 ns/op 1.00
byteArrayEquals 42.841 ns/op 42.592 ns/op 1.01
Buffer.compare 9.4130 ns/op 9.4620 ns/op 0.99
processSlot - 1 slots 10.824 us/op 10.702 us/op 1.01
processSlot - 32 slots 2.5235 ms/op 2.2113 ms/op 1.14
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 41.106 ms/op 38.615 ms/op 1.06
getCommitteeAssignments - req 1 vs - 250000 vc 1.7371 ms/op 1.8090 ms/op 0.96
getCommitteeAssignments - req 100 vs - 250000 vc 3.5632 ms/op 3.5563 ms/op 1.00
getCommitteeAssignments - req 1000 vs - 250000 vc 3.8069 ms/op 3.8385 ms/op 0.99
findModifiedValidators - 10000 modified validators 223.35 ms/op 229.50 ms/op 0.97
findModifiedValidators - 1000 modified validators 137.88 ms/op 158.46 ms/op 0.87
findModifiedValidators - 100 modified validators 135.40 ms/op 134.53 ms/op 1.01
findModifiedValidators - 10 modified validators 138.36 ms/op 142.36 ms/op 0.97
findModifiedValidators - 1 modified validators 130.52 ms/op 138.89 ms/op 0.94
findModifiedValidators - no difference 151.90 ms/op 150.31 ms/op 1.01
compare ViewDUs 3.2044 s/op 3.3420 s/op 0.96
compare each validator Uint8Array 1.1999 s/op 1.5026 s/op 0.80
compare ViewDU to Uint8Array 733.54 ms/op 664.44 ms/op 1.10
migrate state 1000000 validators, 24 modified, 0 new 583.08 ms/op 710.16 ms/op 0.82
migrate state 1000000 validators, 1700 modified, 1000 new 922.98 ms/op 970.40 ms/op 0.95
migrate state 1000000 validators, 3400 modified, 2000 new 1.0608 s/op 1.1300 s/op 0.94
migrate state 1500000 validators, 24 modified, 0 new 770.68 ms/op 673.45 ms/op 1.14
migrate state 1500000 validators, 1700 modified, 1000 new 968.89 ms/op 945.05 ms/op 1.03
migrate state 1500000 validators, 3400 modified, 2000 new 1.1203 s/op 1.0935 s/op 1.02
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 6.0600 ns/op 6.0900 ns/op 1.00
state getBlockRootAtSlot - 250000 vs - 7PWei 665.98 ns/op 472.57 ns/op 1.41
computeProposers - vc 250000 5.5423 ms/op 6.0326 ms/op 0.92
computeEpochShuffling - vc 250000 33.727 ms/op 35.350 ms/op 0.95
getNextSyncCommittee - vc 250000 99.341 ms/op 102.17 ms/op 0.97
computeSigningRoot for AttestationData 17.140 us/op 21.593 us/op 0.79
hash AttestationData serialized data then Buffer.toString(base64) 1.2395 us/op 1.1826 us/op 1.05
toHexString serialized data 729.27 ns/op 770.07 ns/op 0.95
Buffer.toString(base64) 129.12 ns/op 125.64 ns/op 1.03
nodejs block root to RootHex using toHex 116.55 ns/op 120.78 ns/op 0.96
nodejs block root to RootHex using toRootHex 74.707 ns/op 77.192 ns/op 0.97
browser block root to RootHex using the deprecated toHexString 211.75 ns/op 208.70 ns/op 1.01
browser block root to RootHex using toHex 172.90 ns/op 171.99 ns/op 1.01
browser block root to RootHex using toRootHex 159.43 ns/op 155.29 ns/op 1.03

by benchmarkbot/action

@nflaig nflaig force-pushed the nflaig/increase-gas-limit branch from b831eb5 to 372c9b4 Compare December 16, 2024 14:46
Copy link

codecov bot commented Dec 16, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 48.76%. Comparing base (ad8c10e) to head (20179d5).
Report is 2 commits behind head on unstable.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #7304      +/-   ##
============================================
+ Coverage     48.75%   48.76%   +0.01%     
============================================
  Files           601      601              
  Lines         40222    40201      -21     
  Branches       2061     2061              
============================================
- Hits          19609    19605       -4     
+ Misses        20575    20558      -17     
  Partials         38       38              

@nflaig nflaig removed the status-do-not-merge Merging this issue will break the build. Do not merge! label Dec 21, 2024
@nflaig
Copy link
Member Author

nflaig commented Dec 23, 2024

this can be merged now

@nflaig nflaig added this to the v1.25.0 milestone Jan 6, 2025
Copy link
Contributor

@ensi321 ensi321 left a comment

Choose a reason for hiding this comment

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

lgtm. 36M should be non-issue for the protocol

@wemeetagain wemeetagain merged commit 690ee6a into unstable Jan 6, 2025
19 of 20 checks passed
@wemeetagain wemeetagain deleted the nflaig/increase-gas-limit branch January 6, 2025 21:12
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