Skip to content

Comments

chore: remove deneb/electra entries from blob schedule#7888

Merged
ensi321 merged 3 commits intounstablefrom
nflaig/blob-schedule-update
May 28, 2025
Merged

chore: remove deneb/electra entries from blob schedule#7888
ensi321 merged 3 commits intounstablefrom
nflaig/blob-schedule-update

Conversation

@nflaig
Copy link
Member

@nflaig nflaig commented May 28, 2025

Motivation

The PR to backport blob schedule to deneb/electra (ethereum/consensus-specs#4313) has been closed and the entries for deneb/electra have been removed from CL spec as well since ethereum/consensus-specs#4341.

Description

  • Remove blob schedule entries for deneb/electra
  • Update getMaxBlobsPerBlock to default to electra limit
  • Only return BLOB_SCHEDULE from GET /eth/v1/config/spec api if fulu is scheduled

// Electra
{EPOCH: 364032, MAX_BLOBS_PER_BLOCK: 9},
],
BLOB_SCHEDULE: [],
Copy link
Member Author

Choose a reason for hiding this comment

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

as per ethereum/consensus-specs#4342 should be empty array

@nflaig nflaig marked this pull request as ready for review May 28, 2025 13:47
@nflaig nflaig requested a review from a team as a code owner May 28, 2025 13:47
wemeetagain
wemeetagain previously approved these changes May 28, 2025
@codecov
Copy link

codecov bot commented May 28, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 55.74%. Comparing base (f7f780e) to head (f24be18).
Report is 2 commits behind head on unstable.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #7888      +/-   ##
============================================
- Coverage     55.80%   55.74%   -0.06%     
============================================
  Files           823      829       +6     
  Lines         58193    59043     +850     
  Branches       4502     4540      +38     
============================================
+ Hits          32472    32916     +444     
- Misses        25654    26060     +406     
  Partials         67       67              
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions
Copy link
Contributor

github-actions bot commented May 28, 2025

Performance Report

🚀🚀 Significant benchmark improvement detected

Benchmark suite Current: 62ea6b6 Previous: d0de402 Ratio
Buffer.compare 32 17.046 ns/op 52.215 ns/op 0.33
Buffer.compare 1024 25.317 ns/op 80.561 ns/op 0.31
Full benchmark results
Benchmark suite Current: 62ea6b6 Previous: d0de402 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 933.07 us/op 1.3431 ms/op 0.69
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 35.030 us/op 48.359 us/op 0.72
BLS verify - blst 825.37 us/op 1.3309 ms/op 0.62
BLS verifyMultipleSignatures 3 - blst 1.1692 ms/op 2.3118 ms/op 0.51
BLS verifyMultipleSignatures 8 - blst 1.6125 ms/op 3.0704 ms/op 0.53
BLS verifyMultipleSignatures 32 - blst 4.7979 ms/op 8.3987 ms/op 0.57
BLS verifyMultipleSignatures 64 - blst 8.8432 ms/op 15.335 ms/op 0.58
BLS verifyMultipleSignatures 128 - blst 16.938 ms/op 21.668 ms/op 0.78
BLS deserializing 10000 signatures 674.06 ms/op 787.98 ms/op 0.86
BLS deserializing 100000 signatures 6.8298 s/op 8.0794 s/op 0.85
BLS verifyMultipleSignatures - same message - 3 - blst 832.50 us/op 1.0711 ms/op 0.78
BLS verifyMultipleSignatures - same message - 8 - blst 1.0050 ms/op 1.2029 ms/op 0.84
BLS verifyMultipleSignatures - same message - 32 - blst 1.6561 ms/op 2.1924 ms/op 0.76
BLS verifyMultipleSignatures - same message - 64 - blst 2.5571 ms/op 3.1783 ms/op 0.80
BLS verifyMultipleSignatures - same message - 128 - blst 4.3317 ms/op 5.7998 ms/op 0.75
BLS aggregatePubkeys 32 - blst 19.352 us/op 24.892 us/op 0.78
BLS aggregatePubkeys 128 - blst 69.364 us/op 89.087 us/op 0.78
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 46.590 ms/op 61.065 ms/op 0.76
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 45.017 ms/op 63.847 ms/op 0.71
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 36.267 ms/op 48.352 ms/op 0.75
getSlashingsAndExits - default max 73.276 us/op 89.822 us/op 0.82
getSlashingsAndExits - 2k 353.50 us/op 340.98 us/op 1.04
proposeBlockBody type=full, size=empty 5.7905 ms/op 6.5976 ms/op 0.88
isKnown best case - 1 super set check 201.00 ns/op 214.00 ns/op 0.94
isKnown normal case - 2 super set checks 198.00 ns/op 212.00 ns/op 0.93
isKnown worse case - 16 super set checks 200.00 ns/op 230.00 ns/op 0.87
InMemoryCheckpointStateCache - add get delete 2.3980 us/op 2.5650 us/op 0.93
validate api signedAggregateAndProof - struct 1.3460 ms/op 2.5846 ms/op 0.52
validate gossip signedAggregateAndProof - struct 1.3361 ms/op 2.5882 ms/op 0.52
batch validate gossip attestation - vc 640000 - chunk 32 112.47 us/op 134.35 us/op 0.84
batch validate gossip attestation - vc 640000 - chunk 64 99.353 us/op 112.97 us/op 0.88
batch validate gossip attestation - vc 640000 - chunk 128 93.046 us/op 127.65 us/op 0.73
batch validate gossip attestation - vc 640000 - chunk 256 94.535 us/op 135.94 us/op 0.70
pickEth1Vote - no votes 914.45 us/op 1.4980 ms/op 0.61
pickEth1Vote - max votes 5.2573 ms/op 6.9673 ms/op 0.75
pickEth1Vote - Eth1Data hashTreeRoot value x2048 10.538 ms/op 13.256 ms/op 0.79
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 13.614 ms/op 21.149 ms/op 0.64
pickEth1Vote - Eth1Data fastSerialize value x2048 390.02 us/op 532.50 us/op 0.73
pickEth1Vote - Eth1Data fastSerialize tree x2048 2.1736 ms/op 4.5372 ms/op 0.48
bytes32 toHexString 350.00 ns/op 441.00 ns/op 0.79
bytes32 Buffer.toString(hex) 235.00 ns/op 310.00 ns/op 0.76
bytes32 Buffer.toString(hex) from Uint8Array 325.00 ns/op 473.00 ns/op 0.69
bytes32 Buffer.toString(hex) + 0x 233.00 ns/op 292.00 ns/op 0.80
Object access 1 prop 0.11700 ns/op 0.18200 ns/op 0.64
Map access 1 prop 0.12400 ns/op 0.16900 ns/op 0.73
Object get x1000 5.5420 ns/op 7.2210 ns/op 0.77
Map get x1000 6.0700 ns/op 9.3520 ns/op 0.65
Object set x1000 26.576 ns/op 37.562 ns/op 0.71
Map set x1000 18.849 ns/op 30.478 ns/op 0.62
Return object 10000 times 0.27910 ns/op 0.33800 ns/op 0.83
Throw Error 10000 times 4.1436 us/op 5.5765 us/op 0.74
toHex 124.04 ns/op 211.90 ns/op 0.59
Buffer.from 112.17 ns/op 183.51 ns/op 0.61
shared Buffer 74.347 ns/op 122.47 ns/op 0.61
fastMsgIdFn sha256 / 200 bytes 2.1080 us/op 2.9350 us/op 0.72
fastMsgIdFn h32 xxhash / 200 bytes 205.00 ns/op 309.00 ns/op 0.66
fastMsgIdFn h64 xxhash / 200 bytes 263.00 ns/op 363.00 ns/op 0.72
fastMsgIdFn sha256 / 1000 bytes 7.1440 us/op 10.750 us/op 0.66
fastMsgIdFn h32 xxhash / 1000 bytes 335.00 ns/op 568.00 ns/op 0.59
fastMsgIdFn h64 xxhash / 1000 bytes 329.00 ns/op 768.00 ns/op 0.43
fastMsgIdFn sha256 / 10000 bytes 62.208 us/op 104.74 us/op 0.59
fastMsgIdFn h32 xxhash / 10000 bytes 1.7790 us/op 3.1910 us/op 0.56
fastMsgIdFn h64 xxhash / 10000 bytes 1.1890 us/op 1.5010 us/op 0.79
send data - 1000 256B messages 10.891 ms/op 20.549 ms/op 0.53
send data - 1000 512B messages 14.653 ms/op 29.252 ms/op 0.50
send data - 1000 1024B messages 24.228 ms/op 33.628 ms/op 0.72
send data - 1000 1200B messages 19.136 ms/op 29.070 ms/op 0.66
send data - 1000 2048B messages 19.062 ms/op 27.715 ms/op 0.69
send data - 1000 4096B messages 23.706 ms/op 44.328 ms/op 0.53
send data - 1000 16384B messages 63.487 ms/op 107.47 ms/op 0.59
send data - 1000 65536B messages 190.67 ms/op 273.23 ms/op 0.70
enrSubnets - fastDeserialize 64 bits 1.7020 us/op 1.2370 us/op 1.38
enrSubnets - ssz BitVector 64 bits 333.00 ns/op 427.00 ns/op 0.78
enrSubnets - fastDeserialize 4 bits 128.00 ns/op 185.00 ns/op 0.69
enrSubnets - ssz BitVector 4 bits 332.00 ns/op 605.00 ns/op 0.55
prioritizePeers score -10:0 att 32-0.1 sync 2-0 115.39 us/op 211.48 us/op 0.55
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 137.08 us/op 239.14 us/op 0.57
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 192.53 us/op 240.61 us/op 0.80
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 359.41 us/op 455.52 us/op 0.79
prioritizePeers score 0:0 att 64-1 sync 4-1 438.60 us/op 564.61 us/op 0.78
array of 16000 items push then shift 1.5407 us/op 1.8452 us/op 0.83
LinkedList of 16000 items push then shift 6.7200 ns/op 8.9870 ns/op 0.75
array of 16000 items push then pop 71.933 ns/op 113.13 ns/op 0.64
LinkedList of 16000 items push then pop 6.6410 ns/op 8.9390 ns/op 0.74
array of 24000 items push then shift 2.3103 us/op 6.3639 us/op 0.36
LinkedList of 24000 items push then shift 6.7090 ns/op 9.2250 ns/op 0.73
array of 24000 items push then pop 96.160 ns/op 137.78 ns/op 0.70
LinkedList of 24000 items push then pop 6.6340 ns/op 8.4610 ns/op 0.78
intersect bitArray bitLen 8 6.1870 ns/op 7.9580 ns/op 0.78
intersect array and set length 8 36.672 ns/op 39.931 ns/op 0.92
intersect bitArray bitLen 128 28.935 ns/op 35.170 ns/op 0.82
intersect array and set length 128 603.14 ns/op 669.86 ns/op 0.90
bitArray.getTrueBitIndexes() bitLen 128 982.00 ns/op 1.0760 us/op 0.91
bitArray.getTrueBitIndexes() bitLen 248 1.7340 us/op 1.9930 us/op 0.87
bitArray.getTrueBitIndexes() bitLen 512 3.5160 us/op 4.0020 us/op 0.88
Buffer.concat 32 items 592.00 ns/op 908.00 ns/op 0.65
Uint8Array.set 32 items 1.1330 us/op 1.6760 us/op 0.68
Buffer.copy 2.0110 us/op 2.5970 us/op 0.77
Uint8Array.set - with subarray 1.4970 us/op 2.3510 us/op 0.64
Uint8Array.set - without subarray 868.00 ns/op 1.1100 us/op 0.78
getUint32 - dataview 205.00 ns/op 256.00 ns/op 0.80
getUint32 - manual 123.00 ns/op 156.00 ns/op 0.79
Set add up to 64 items then delete first 2.1303 us/op 3.2892 us/op 0.65
OrderedSet add up to 64 items then delete first 3.1512 us/op 5.0573 us/op 0.62
Set add up to 64 items then delete last 2.2695 us/op 4.5850 us/op 0.49
OrderedSet add up to 64 items then delete last 3.4341 us/op 6.0099 us/op 0.57
Set add up to 64 items then delete middle 2.3852 us/op 3.4540 us/op 0.69
OrderedSet add up to 64 items then delete middle 4.9855 us/op 7.2945 us/op 0.68
Set add up to 128 items then delete first 4.7692 us/op 8.3263 us/op 0.57
OrderedSet add up to 128 items then delete first 7.4803 us/op 9.6657 us/op 0.77
Set add up to 128 items then delete last 4.7275 us/op 6.8560 us/op 0.69
OrderedSet add up to 128 items then delete last 6.9269 us/op 10.194 us/op 0.68
Set add up to 128 items then delete middle 4.6315 us/op 7.7469 us/op 0.60
OrderedSet add up to 128 items then delete middle 13.001 us/op 19.634 us/op 0.66
Set add up to 256 items then delete first 9.9670 us/op 14.431 us/op 0.69
OrderedSet add up to 256 items then delete first 15.078 us/op 22.825 us/op 0.66
Set add up to 256 items then delete last 9.4054 us/op 12.901 us/op 0.73
OrderedSet add up to 256 items then delete last 13.719 us/op 20.162 us/op 0.68
Set add up to 256 items then delete middle 9.1776 us/op 13.921 us/op 0.66
OrderedSet add up to 256 items then delete middle 39.019 us/op 59.340 us/op 0.66
transfer serialized Status (84 B) 2.1690 us/op 3.2730 us/op 0.66
copy serialized Status (84 B) 1.1300 us/op 1.5930 us/op 0.71
transfer serialized SignedVoluntaryExit (112 B) 2.1800 us/op 4.3100 us/op 0.51
copy serialized SignedVoluntaryExit (112 B) 1.2280 us/op 2.0800 us/op 0.59
transfer serialized ProposerSlashing (416 B) 3.2990 us/op 3.9040 us/op 0.85
copy serialized ProposerSlashing (416 B) 1.4170 us/op 2.2300 us/op 0.64
transfer serialized Attestation (485 B) 2.3000 us/op 4.0000 us/op 0.57
copy serialized Attestation (485 B) 1.2730 us/op 2.3400 us/op 0.54
transfer serialized AttesterSlashing (33232 B) 2.4530 us/op 3.2950 us/op 0.74
copy serialized AttesterSlashing (33232 B) 3.5190 us/op 4.7400 us/op 0.74
transfer serialized Small SignedBeaconBlock (128000 B) 3.2600 us/op 3.8900 us/op 0.84
copy serialized Small SignedBeaconBlock (128000 B) 9.1910 us/op 12.270 us/op 0.75
transfer serialized Avg SignedBeaconBlock (200000 B) 3.7160 us/op 4.3860 us/op 0.85
copy serialized Avg SignedBeaconBlock (200000 B) 12.744 us/op 19.474 us/op 0.65
transfer serialized BlobsSidecar (524380 B) 3.7220 us/op 4.8120 us/op 0.77
copy serialized BlobsSidecar (524380 B) 63.692 us/op 98.532 us/op 0.65
transfer serialized Big SignedBeaconBlock (1000000 B) 3.7290 us/op 5.0320 us/op 0.74
copy serialized Big SignedBeaconBlock (1000000 B) 107.37 us/op 139.03 us/op 0.77
pass gossip attestations to forkchoice per slot 2.6588 ms/op 3.2667 ms/op 0.81
forkChoice updateHead vc 100000 bc 64 eq 0 441.19 us/op 573.53 us/op 0.77
forkChoice updateHead vc 600000 bc 64 eq 0 2.6986 ms/op 3.9618 ms/op 0.68
forkChoice updateHead vc 1000000 bc 64 eq 0 4.6264 ms/op 6.7257 ms/op 0.69
forkChoice updateHead vc 600000 bc 320 eq 0 2.7309 ms/op 3.9139 ms/op 0.70
forkChoice updateHead vc 600000 bc 1200 eq 0 2.7444 ms/op 3.9957 ms/op 0.69
forkChoice updateHead vc 600000 bc 7200 eq 0 2.9874 ms/op 4.8139 ms/op 0.62
forkChoice updateHead vc 600000 bc 64 eq 1000 10.087 ms/op 13.488 ms/op 0.75
forkChoice updateHead vc 600000 bc 64 eq 10000 10.026 ms/op 13.463 ms/op 0.74
forkChoice updateHead vc 600000 bc 64 eq 300000 13.784 ms/op 18.300 ms/op 0.75
computeDeltas 500000 validators 300 proto nodes 3.7735 ms/op 4.9679 ms/op 0.76
computeDeltas 500000 validators 1200 proto nodes 3.8704 ms/op 5.0023 ms/op 0.77
computeDeltas 500000 validators 7200 proto nodes 3.9393 ms/op 5.5625 ms/op 0.71
computeDeltas 750000 validators 300 proto nodes 5.8646 ms/op 7.6737 ms/op 0.76
computeDeltas 750000 validators 1200 proto nodes 6.2269 ms/op 7.1380 ms/op 0.87
computeDeltas 750000 validators 7200 proto nodes 6.1265 ms/op 7.3911 ms/op 0.83
computeDeltas 1400000 validators 300 proto nodes 10.939 ms/op 14.092 ms/op 0.78
computeDeltas 1400000 validators 1200 proto nodes 10.849 ms/op 14.642 ms/op 0.74
computeDeltas 1400000 validators 7200 proto nodes 10.830 ms/op 15.307 ms/op 0.71
computeDeltas 2100000 validators 300 proto nodes 16.120 ms/op 20.056 ms/op 0.80
computeDeltas 2100000 validators 1200 proto nodes 15.970 ms/op 19.623 ms/op 0.81
computeDeltas 2100000 validators 7200 proto nodes 16.069 ms/op 21.768 ms/op 0.74
altair processAttestation - 250000 vs - 7PWei normalcase 1.9641 ms/op 2.8669 ms/op 0.69
altair processAttestation - 250000 vs - 7PWei worstcase 3.2718 ms/op 3.5837 ms/op 0.91
altair processAttestation - setStatus - 1/6 committees join 122.50 us/op 164.38 us/op 0.75
altair processAttestation - setStatus - 1/3 committees join 235.16 us/op 305.41 us/op 0.77
altair processAttestation - setStatus - 1/2 committees join 328.12 us/op 414.79 us/op 0.79
altair processAttestation - setStatus - 2/3 committees join 422.64 us/op 518.54 us/op 0.82
altair processAttestation - setStatus - 4/5 committees join 580.30 us/op 1.1167 ms/op 0.52
altair processAttestation - setStatus - 100% committees join 681.44 us/op 882.41 us/op 0.77
altair processBlock - 250000 vs - 7PWei normalcase 3.9681 ms/op 6.1248 ms/op 0.65
altair processBlock - 250000 vs - 7PWei normalcase hashState 31.935 ms/op 42.757 ms/op 0.75
altair processBlock - 250000 vs - 7PWei worstcase 34.667 ms/op 61.932 ms/op 0.56
altair processBlock - 250000 vs - 7PWei worstcase hashState 72.320 ms/op 139.50 ms/op 0.52
phase0 processBlock - 250000 vs - 7PWei normalcase 1.6663 ms/op 2.9990 ms/op 0.56
phase0 processBlock - 250000 vs - 7PWei worstcase 20.030 ms/op 40.199 ms/op 0.50
altair processEth1Data - 250000 vs - 7PWei normalcase 349.24 us/op 409.54 us/op 0.85
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 5.5180 us/op 9.2630 us/op 0.60
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 34.373 us/op 46.711 us/op 0.74
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 9.8560 us/op 10.755 us/op 0.92
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 6.0030 us/op 10.861 us/op 0.55
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 137.62 us/op 173.95 us/op 0.79
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.9538 ms/op 3.5246 ms/op 0.55
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.3329 ms/op 4.6223 ms/op 0.50
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.3365 ms/op 3.0702 ms/op 0.76
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.3447 ms/op 5.8999 ms/op 0.74
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.3664 ms/op 3.0022 ms/op 0.79
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.2880 ms/op 6.3933 ms/op 0.67
Tree 40 250000 create 400.78 ms/op 576.13 ms/op 0.70
Tree 40 250000 get(125000) 141.30 ns/op 173.31 ns/op 0.82
Tree 40 250000 set(125000) 1.3769 us/op 2.7198 us/op 0.51
Tree 40 250000 toArray() 14.409 ms/op 30.153 ms/op 0.48
Tree 40 250000 iterate all - toArray() + loop 14.598 ms/op 23.699 ms/op 0.62
Tree 40 250000 iterate all - get(i) 49.331 ms/op 78.979 ms/op 0.62
Array 250000 create 2.3540 ms/op 4.2515 ms/op 0.55
Array 250000 clone - spread 789.84 us/op 2.2360 ms/op 0.35
Array 250000 get(125000) 0.40000 ns/op 0.69100 ns/op 0.58
Array 250000 set(125000) 0.42300 ns/op 0.56500 ns/op 0.75
Array 250000 iterate all - loop 108.03 us/op 116.98 us/op 0.92
phase0 afterProcessEpoch - 250000 vs - 7PWei 41.288 ms/op 57.083 ms/op 0.72
Array.fill - length 1000000 3.3026 ms/op 6.8933 ms/op 0.48
Array push - length 1000000 11.964 ms/op 16.443 ms/op 0.73
Array.get 0.25576 ns/op 0.45386 ns/op 0.56
Uint8Array.get 0.41129 ns/op 0.57344 ns/op 0.72
phase0 beforeProcessEpoch - 250000 vs - 7PWei 14.935 ms/op 21.970 ms/op 0.68
altair processEpoch - mainnet_e81889 267.60 ms/op 424.34 ms/op 0.63
mainnet_e81889 - altair beforeProcessEpoch 17.784 ms/op 41.886 ms/op 0.42
mainnet_e81889 - altair processJustificationAndFinalization 5.1500 us/op 11.114 us/op 0.46
mainnet_e81889 - altair processInactivityUpdates 3.9330 ms/op 9.2986 ms/op 0.42
mainnet_e81889 - altair processRewardsAndPenalties 39.770 ms/op 52.227 ms/op 0.76
mainnet_e81889 - altair processRegistryUpdates 684.00 ns/op 1.4020 us/op 0.49
mainnet_e81889 - altair processSlashings 180.00 ns/op 710.00 ns/op 0.25
mainnet_e81889 - altair processEth1DataReset 173.00 ns/op 610.00 ns/op 0.28
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.1958 ms/op 2.3808 ms/op 0.50
mainnet_e81889 - altair processSlashingsReset 855.00 ns/op 2.1710 us/op 0.39
mainnet_e81889 - altair processRandaoMixesReset 1.1030 us/op 4.0780 us/op 0.27
mainnet_e81889 - altair processHistoricalRootsUpdate 176.00 ns/op 440.00 ns/op 0.40
mainnet_e81889 - altair processParticipationFlagUpdates 499.00 ns/op 1.0300 us/op 0.48
mainnet_e81889 - altair processSyncCommitteeUpdates 137.00 ns/op 301.00 ns/op 0.46
mainnet_e81889 - altair afterProcessEpoch 42.680 ms/op 106.30 ms/op 0.40
capella processEpoch - mainnet_e217614 882.35 ms/op 1.5953 s/op 0.55
mainnet_e217614 - capella beforeProcessEpoch 61.820 ms/op 78.448 ms/op 0.79
mainnet_e217614 - capella processJustificationAndFinalization 5.1100 us/op 8.7940 us/op 0.58
mainnet_e217614 - capella processInactivityUpdates 14.124 ms/op 16.740 ms/op 0.84
mainnet_e217614 - capella processRewardsAndPenalties 174.84 ms/op 242.48 ms/op 0.72
mainnet_e217614 - capella processRegistryUpdates 6.2850 us/op 14.980 us/op 0.42
mainnet_e217614 - capella processSlashings 175.00 ns/op 417.00 ns/op 0.42
mainnet_e217614 - capella processEth1DataReset 174.00 ns/op 386.00 ns/op 0.45
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.0949 ms/op 5.1497 ms/op 0.80
mainnet_e217614 - capella processSlashingsReset 869.00 ns/op 1.4530 us/op 0.60
mainnet_e217614 - capella processRandaoMixesReset 1.1280 us/op 1.5260 us/op 0.74
mainnet_e217614 - capella processHistoricalRootsUpdate 175.00 ns/op 270.00 ns/op 0.65
mainnet_e217614 - capella processParticipationFlagUpdates 519.00 ns/op 665.00 ns/op 0.78
mainnet_e217614 - capella afterProcessEpoch 113.12 ms/op 142.73 ms/op 0.79
phase0 processEpoch - mainnet_e58758 281.74 ms/op 455.18 ms/op 0.62
mainnet_e58758 - phase0 beforeProcessEpoch 68.999 ms/op 105.19 ms/op 0.66
mainnet_e58758 - phase0 processJustificationAndFinalization 5.5030 us/op 9.2890 us/op 0.59
mainnet_e58758 - phase0 processRewardsAndPenalties 35.156 ms/op 51.977 ms/op 0.68
mainnet_e58758 - phase0 processRegistryUpdates 3.0080 us/op 4.8280 us/op 0.62
mainnet_e58758 - phase0 processSlashings 176.00 ns/op 299.00 ns/op 0.59
mainnet_e58758 - phase0 processEth1DataReset 173.00 ns/op 411.00 ns/op 0.42
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.1396 ms/op 2.6796 ms/op 0.43
mainnet_e58758 - phase0 processSlashingsReset 867.00 ns/op 1.9000 us/op 0.46
mainnet_e58758 - phase0 processRandaoMixesReset 1.1510 us/op 2.5310 us/op 0.45
mainnet_e58758 - phase0 processHistoricalRootsUpdate 172.00 ns/op 395.00 ns/op 0.44
mainnet_e58758 - phase0 processParticipationRecordUpdates 879.00 ns/op 1.3060 us/op 0.67
mainnet_e58758 - phase0 afterProcessEpoch 35.755 ms/op 49.744 ms/op 0.72
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.3356 ms/op 2.6173 ms/op 0.51
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.9472 ms/op 3.7662 ms/op 0.52
altair processInactivityUpdates - 250000 normalcase 17.295 ms/op 37.232 ms/op 0.46
altair processInactivityUpdates - 250000 worstcase 17.204 ms/op 41.502 ms/op 0.41
phase0 processRegistryUpdates - 250000 normalcase 6.5870 us/op 14.576 us/op 0.45
phase0 processRegistryUpdates - 250000 badcase_full_deposits 227.96 us/op 475.92 us/op 0.48
phase0 processRegistryUpdates - 250000 worstcase 0.5 96.731 ms/op 161.92 ms/op 0.60
altair processRewardsAndPenalties - 250000 normalcase 26.984 ms/op 54.614 ms/op 0.49
altair processRewardsAndPenalties - 250000 worstcase 26.913 ms/op 57.016 ms/op 0.47
phase0 getAttestationDeltas - 250000 normalcase 6.5048 ms/op 12.597 ms/op 0.52
phase0 getAttestationDeltas - 250000 worstcase 5.8011 ms/op 13.947 ms/op 0.42
phase0 processSlashings - 250000 worstcase 91.410 us/op 107.64 us/op 0.85
altair processSyncCommitteeUpdates - 250000 10.939 ms/op 26.576 ms/op 0.41
BeaconState.hashTreeRoot - No change 220.00 ns/op 517.00 ns/op 0.43
BeaconState.hashTreeRoot - 1 full validator 74.011 us/op 182.23 us/op 0.41
BeaconState.hashTreeRoot - 32 full validator 770.02 us/op 1.7946 ms/op 0.43
BeaconState.hashTreeRoot - 512 full validator 11.135 ms/op 20.098 ms/op 0.55
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 91.404 us/op 274.98 us/op 0.33
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.5515 ms/op 3.1028 ms/op 0.50
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 23.469 ms/op 44.083 ms/op 0.53
BeaconState.hashTreeRoot - 1 balances 70.483 us/op 191.59 us/op 0.37
BeaconState.hashTreeRoot - 32 balances 644.87 us/op 1.6677 ms/op 0.39
BeaconState.hashTreeRoot - 512 balances 7.7432 ms/op 15.410 ms/op 0.50
BeaconState.hashTreeRoot - 250000 balances 169.54 ms/op 309.44 ms/op 0.55
aggregationBits - 2048 els - zipIndexesInBitList 21.026 us/op 51.443 us/op 0.41
byteArrayEquals 32 52.640 ns/op 143.80 ns/op 0.37
Buffer.compare 32 17.046 ns/op 52.215 ns/op 0.33
byteArrayEquals 1024 1.5660 us/op 3.7629 us/op 0.42
Buffer.compare 1024 25.317 ns/op 80.561 ns/op 0.31
byteArrayEquals 16384 24.854 us/op 48.043 us/op 0.52
Buffer.compare 16384 220.19 ns/op 371.32 ns/op 0.59
byteArrayEquals 123687377 189.13 ms/op 340.27 ms/op 0.56
Buffer.compare 123687377 7.0997 ms/op 9.9833 ms/op 0.71
byteArrayEquals 32 - diff last byte 52.077 ns/op 97.450 ns/op 0.53
Buffer.compare 32 - diff last byte 16.980 ns/op 32.898 ns/op 0.52
byteArrayEquals 1024 - diff last byte 1.5755 us/op 2.8598 us/op 0.55
Buffer.compare 1024 - diff last byte 25.703 ns/op 57.657 ns/op 0.45
byteArrayEquals 16384 - diff last byte 25.139 us/op 49.342 us/op 0.51
Buffer.compare 16384 - diff last byte 207.59 ns/op 360.96 ns/op 0.58
byteArrayEquals 123687377 - diff last byte 188.94 ms/op 340.70 ms/op 0.55
Buffer.compare 123687377 - diff last byte 6.2419 ms/op 9.5300 ms/op 0.65
byteArrayEquals 32 - random bytes 4.9470 ns/op 8.4090 ns/op 0.59
Buffer.compare 32 - random bytes 16.632 ns/op 35.802 ns/op 0.46
byteArrayEquals 1024 - random bytes 4.9660 ns/op 9.5130 ns/op 0.52
Buffer.compare 1024 - random bytes 16.592 ns/op 29.024 ns/op 0.57
byteArrayEquals 16384 - random bytes 4.9920 ns/op 10.850 ns/op 0.46
Buffer.compare 16384 - random bytes 16.932 ns/op 28.462 ns/op 0.59
byteArrayEquals 123687377 - random bytes 6.2500 ns/op 14.770 ns/op 0.42
Buffer.compare 123687377 - random bytes 18.130 ns/op 37.820 ns/op 0.48
regular array get 100000 times 32.185 us/op 71.842 us/op 0.45
wrappedArray get 100000 times 39.085 us/op 78.506 us/op 0.50
arrayWithProxy get 100000 times 12.536 ms/op 29.673 ms/op 0.42
ssz.Root.equals 45.396 ns/op 93.291 ns/op 0.49
byteArrayEquals 44.412 ns/op 82.349 ns/op 0.54
Buffer.compare 10.113 ns/op 20.552 ns/op 0.49
processSlot - 1 slots 10.007 us/op 23.602 us/op 0.42
processSlot - 32 slots 1.8798 ms/op 4.9187 ms/op 0.38
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 3.0197 ms/op 5.3689 ms/op 0.56
getCommitteeAssignments - req 1 vs - 250000 vc 2.1055 ms/op 4.7465 ms/op 0.44
getCommitteeAssignments - req 100 vs - 250000 vc 4.0984 ms/op 9.1453 ms/op 0.45
getCommitteeAssignments - req 1000 vs - 250000 vc 4.3338 ms/op 10.021 ms/op 0.43
findModifiedValidators - 10000 modified validators 714.64 ms/op 1.3136 s/op 0.54
findModifiedValidators - 1000 modified validators 700.55 ms/op 816.23 ms/op 0.86
findModifiedValidators - 100 modified validators 318.80 ms/op 489.47 ms/op 0.65
findModifiedValidators - 10 modified validators 167.28 ms/op 327.36 ms/op 0.51
findModifiedValidators - 1 modified validators 181.08 ms/op 474.52 ms/op 0.38
findModifiedValidators - no difference 233.51 ms/op 334.57 ms/op 0.70
compare ViewDUs 5.7957 s/op 10.023 s/op 0.58
compare each validator Uint8Array 1.4680 s/op 1.8422 s/op 0.80
compare ViewDU to Uint8Array 1.1089 s/op 1.2759 s/op 0.87
migrate state 1000000 validators, 24 modified, 0 new 740.52 ms/op 1.0398 s/op 0.71
migrate state 1000000 validators, 1700 modified, 1000 new 1.0601 s/op 1.2993 s/op 0.82
migrate state 1000000 validators, 3400 modified, 2000 new 1.1298 s/op 1.5219 s/op 0.74
migrate state 1500000 validators, 24 modified, 0 new 733.81 ms/op 1.1541 s/op 0.64
migrate state 1500000 validators, 1700 modified, 1000 new 1.0968 s/op 1.7039 s/op 0.64
migrate state 1500000 validators, 3400 modified, 2000 new 1.2591 s/op 1.5349 s/op 0.82
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.2100 ns/op 5.9400 ns/op 0.71
state getBlockRootAtSlot - 250000 vs - 7PWei 401.05 ns/op 747.52 ns/op 0.54
naive computeProposerIndex 100000 validators 50.131 ms/op 60.585 ms/op 0.83
computeProposerIndex 100000 validators 1.4754 ms/op 1.6114 ms/op 0.92
naiveGetNextSyncCommitteeIndices 1000 validators 7.0164 s/op 9.3088 s/op 0.75
getNextSyncCommitteeIndices 1000 validators 111.78 ms/op 134.83 ms/op 0.83
naiveGetNextSyncCommitteeIndices 10000 validators 7.3964 s/op 9.8241 s/op 0.75
getNextSyncCommitteeIndices 10000 validators 114.87 ms/op 148.03 ms/op 0.78
naiveGetNextSyncCommitteeIndices 100000 validators 7.1384 s/op 11.595 s/op 0.62
getNextSyncCommitteeIndices 100000 validators 107.01 ms/op 144.13 ms/op 0.74
naive computeShuffledIndex 100000 validators 21.552 s/op 43.620 s/op 0.49
cached computeShuffledIndex 100000 validators 528.46 ms/op 634.95 ms/op 0.83
naive computeShuffledIndex 2000000 validators 482.04 s/op 777.95 s/op 0.62
cached computeShuffledIndex 2000000 validators 36.800 s/op 40.984 s/op 0.90
computeProposers - vc 250000 636.22 us/op 762.33 us/op 0.83
computeEpochShuffling - vc 250000 43.365 ms/op 65.481 ms/op 0.66
getNextSyncCommittee - vc 250000 10.603 ms/op 14.222 ms/op 0.75
computeSigningRoot for AttestationData 21.915 us/op 35.381 us/op 0.62
hash AttestationData serialized data then Buffer.toString(base64) 1.6152 us/op 2.1101 us/op 0.77
toHexString serialized data 1.2317 us/op 1.6082 us/op 0.77
Buffer.toString(base64) 164.78 ns/op 207.89 ns/op 0.79
nodejs block root to RootHex using toHex 146.93 ns/op 175.96 ns/op 0.84
nodejs block root to RootHex using toRootHex 85.335 ns/op 106.30 ns/op 0.80
browser block root to RootHex using the deprecated toHexString 218.50 ns/op 266.53 ns/op 0.82
browser block root to RootHex using toHex 174.20 ns/op 205.70 ns/op 0.85
browser block root to RootHex using toRootHex 159.44 ns/op 182.32 ns/op 0.87

by benchmarkbot/action

@nflaig
Copy link
Member Author

nflaig commented May 28, 2025

Nightly kurtosis run passes again, see https://github.com/ChainSafe/lodestar/actions/runs/15302437245

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.

looks good overall. One small comment

@ensi321 ensi321 merged commit 3c7d6d1 into unstable May 28, 2025
26 of 27 checks passed
@ensi321 ensi321 deleted the nflaig/blob-schedule-update branch May 28, 2025 22:21
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.31.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.

3 participants