Skip to content

Conversation

@nflaig
Copy link
Member

@nflaig nflaig commented May 22, 2025

Motivation

Follow up to #7729, we need to configure blob schedule for each network. This will become relevant once we fully backport blob schedule to deneb and electra.

Description

Add blob schedule to each network config

@nflaig nflaig requested a review from a team as a code owner May 22, 2025 12:00
@codecov
Copy link

codecov bot commented May 22, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 55.82%. Comparing base (011a0c4) to head (bcd3f5a).
Report is 1 commits behind head on unstable.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #7858   +/-   ##
=========================================
  Coverage     55.81%   55.82%           
=========================================
  Files           823      823           
  Lines         58157    58157           
  Branches       4496     4498    +2     
=========================================
+ Hits          32463    32466    +3     
+ Misses        25627    25624    -3     
  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

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: de7312e Previous: 011a0c4 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.2811 ms/op 1.0404 ms/op 1.23
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 44.389 us/op 37.163 us/op 1.19
BLS verify - blst 1.0276 ms/op 1.0398 ms/op 0.99
BLS verifyMultipleSignatures 3 - blst 1.7451 ms/op 1.3880 ms/op 1.26
BLS verifyMultipleSignatures 8 - blst 2.7667 ms/op 2.0041 ms/op 1.38
BLS verifyMultipleSignatures 32 - blst 6.8745 ms/op 6.2265 ms/op 1.10
BLS verifyMultipleSignatures 64 - blst 12.461 ms/op 11.317 ms/op 1.10
BLS verifyMultipleSignatures 128 - blst 20.628 ms/op 17.700 ms/op 1.17
BLS deserializing 10000 signatures 783.25 ms/op 710.58 ms/op 1.10
BLS deserializing 100000 signatures 8.0765 s/op 7.2330 s/op 1.12
BLS verifyMultipleSignatures - same message - 3 - blst 999.91 us/op 1.0804 ms/op 0.93
BLS verifyMultipleSignatures - same message - 8 - blst 1.1878 ms/op 1.1501 ms/op 1.03
BLS verifyMultipleSignatures - same message - 32 - blst 1.8727 ms/op 2.0651 ms/op 0.91
BLS verifyMultipleSignatures - same message - 64 - blst 2.9030 ms/op 2.7747 ms/op 1.05
BLS verifyMultipleSignatures - same message - 128 - blst 4.7553 ms/op 5.1675 ms/op 0.92
BLS aggregatePubkeys 32 - blst 21.704 us/op 20.716 us/op 1.05
BLS aggregatePubkeys 128 - blst 77.156 us/op 72.082 us/op 1.07
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 65.392 ms/op 56.176 ms/op 1.16
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 61.149 ms/op 54.345 ms/op 1.13
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 50.473 ms/op 46.851 ms/op 1.08
getSlashingsAndExits - default max 109.85 us/op 103.04 us/op 1.07
getSlashingsAndExits - 2k 505.79 us/op 333.60 us/op 1.52
proposeBlockBody type=full, size=empty 7.9081 ms/op 6.7679 ms/op 1.17
isKnown best case - 1 super set check 224.00 ns/op 208.00 ns/op 1.08
isKnown normal case - 2 super set checks 222.00 ns/op 198.00 ns/op 1.12
isKnown worse case - 16 super set checks 227.00 ns/op 200.00 ns/op 1.14
InMemoryCheckpointStateCache - add get delete 3.2000 us/op 2.3160 us/op 1.38
validate api signedAggregateAndProof - struct 1.9361 ms/op 1.4619 ms/op 1.32
validate gossip signedAggregateAndProof - struct 1.8802 ms/op 1.5264 ms/op 1.23
batch validate gossip attestation - vc 640000 - chunk 32 137.67 us/op 118.30 us/op 1.16
batch validate gossip attestation - vc 640000 - chunk 64 117.49 us/op 103.91 us/op 1.13
batch validate gossip attestation - vc 640000 - chunk 128 109.02 us/op 103.24 us/op 1.06
batch validate gossip attestation - vc 640000 - chunk 256 113.59 us/op 107.34 us/op 1.06
pickEth1Vote - no votes 1.3104 ms/op 1.0154 ms/op 1.29
pickEth1Vote - max votes 9.7162 ms/op 8.7762 ms/op 1.11
pickEth1Vote - Eth1Data hashTreeRoot value x2048 15.168 ms/op 14.302 ms/op 1.06
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 27.959 ms/op 21.489 ms/op 1.30
pickEth1Vote - Eth1Data fastSerialize value x2048 505.85 us/op 470.67 us/op 1.07
pickEth1Vote - Eth1Data fastSerialize tree x2048 5.0393 ms/op 2.3827 ms/op 2.11
bytes32 toHexString 449.00 ns/op 428.00 ns/op 1.05
bytes32 Buffer.toString(hex) 352.00 ns/op 264.00 ns/op 1.33
bytes32 Buffer.toString(hex) from Uint8Array 592.00 ns/op 343.00 ns/op 1.73
bytes32 Buffer.toString(hex) + 0x 379.00 ns/op 251.00 ns/op 1.51
Object access 1 prop 0.16200 ns/op 0.12400 ns/op 1.31
Map access 1 prop 0.15600 ns/op 0.12700 ns/op 1.23
Object get x1000 7.1780 ns/op 6.0920 ns/op 1.18
Map get x1000 6.9060 ns/op 6.6870 ns/op 1.03
Object set x1000 36.906 ns/op 32.911 ns/op 1.12
Map set x1000 25.133 ns/op 26.401 ns/op 0.95
Return object 10000 times 0.31870 ns/op 0.30070 ns/op 1.06
Throw Error 10000 times 5.2036 us/op 4.4894 us/op 1.16
toHex 153.03 ns/op 155.48 ns/op 0.98
Buffer.from 139.84 ns/op 130.02 ns/op 1.08
shared Buffer 93.169 ns/op 84.791 ns/op 1.10
fastMsgIdFn sha256 / 200 bytes 2.4670 us/op 2.2400 us/op 1.10
fastMsgIdFn h32 xxhash / 200 bytes 255.00 ns/op 227.00 ns/op 1.12
fastMsgIdFn h64 xxhash / 200 bytes 354.00 ns/op 280.00 ns/op 1.26
fastMsgIdFn sha256 / 1000 bytes 8.0230 us/op 7.5280 us/op 1.07
fastMsgIdFn h32 xxhash / 1000 bytes 376.00 ns/op 397.00 ns/op 0.95
fastMsgIdFn h64 xxhash / 1000 bytes 368.00 ns/op 415.00 ns/op 0.89
fastMsgIdFn sha256 / 10000 bytes 73.738 us/op 72.498 us/op 1.02
fastMsgIdFn h32 xxhash / 10000 bytes 2.0170 us/op 1.9700 us/op 1.02
fastMsgIdFn h64 xxhash / 10000 bytes 1.3460 us/op 1.2930 us/op 1.04
send data - 1000 256B messages 16.834 ms/op 14.835 ms/op 1.13
send data - 1000 512B messages 20.653 ms/op 17.945 ms/op 1.15
send data - 1000 1024B messages 32.519 ms/op 27.808 ms/op 1.17
send data - 1000 1200B messages 27.488 ms/op 23.135 ms/op 1.19
send data - 1000 2048B messages 33.928 ms/op 26.781 ms/op 1.27
send data - 1000 4096B messages 35.228 ms/op 28.231 ms/op 1.25
send data - 1000 16384B messages 79.584 ms/op 74.654 ms/op 1.07
send data - 1000 65536B messages 259.86 ms/op 243.35 ms/op 1.07
enrSubnets - fastDeserialize 64 bits 1.9190 us/op 1.0600 us/op 1.81
enrSubnets - ssz BitVector 64 bits 347.00 ns/op 338.00 ns/op 1.03
enrSubnets - fastDeserialize 4 bits 147.00 ns/op 136.00 ns/op 1.08
enrSubnets - ssz BitVector 4 bits 350.00 ns/op 398.00 ns/op 0.88
prioritizePeers score -10:0 att 32-0.1 sync 2-0 126.47 us/op 128.89 us/op 0.98
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 155.52 us/op 154.06 us/op 1.01
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 231.73 us/op 213.05 us/op 1.09
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 421.88 us/op 410.82 us/op 1.03
prioritizePeers score 0:0 att 64-1 sync 4-1 497.19 us/op 508.10 us/op 0.98
array of 16000 items push then shift 1.7047 us/op 1.6942 us/op 1.01
LinkedList of 16000 items push then shift 8.8200 ns/op 8.4600 ns/op 1.04
array of 16000 items push then pop 83.651 ns/op 87.616 ns/op 0.95
LinkedList of 16000 items push then pop 7.7550 ns/op 8.1980 ns/op 0.95
array of 24000 items push then shift 2.4859 us/op 2.4879 us/op 1.00
LinkedList of 24000 items push then shift 8.3940 ns/op 9.1810 ns/op 0.91
array of 24000 items push then pop 122.36 ns/op 120.00 ns/op 1.02
LinkedList of 24000 items push then pop 8.1970 ns/op 9.2070 ns/op 0.89
intersect bitArray bitLen 8 6.8900 ns/op 6.7670 ns/op 1.02
intersect array and set length 8 43.059 ns/op 40.540 ns/op 1.06
intersect bitArray bitLen 128 33.057 ns/op 31.032 ns/op 1.07
intersect array and set length 128 674.21 ns/op 651.99 ns/op 1.03
bitArray.getTrueBitIndexes() bitLen 128 1.1310 us/op 1.1820 us/op 0.96
bitArray.getTrueBitIndexes() bitLen 248 2.0280 us/op 2.3370 us/op 0.87
bitArray.getTrueBitIndexes() bitLen 512 4.5450 us/op 3.9660 us/op 1.15
Buffer.concat 32 items 814.00 ns/op 639.00 ns/op 1.27
Uint8Array.set 32 items 1.6190 us/op 2.1840 us/op 0.74
Buffer.copy 2.7710 us/op 3.5150 us/op 0.79
Uint8Array.set - with subarray 2.8400 us/op 3.1980 us/op 0.89
Uint8Array.set - without subarray 1.5060 us/op 1.8890 us/op 0.80
getUint32 - dataview 212.00 ns/op 215.00 ns/op 0.99
getUint32 - manual 143.00 ns/op 140.00 ns/op 1.02
Set add up to 64 items then delete first 2.8527 us/op 3.0151 us/op 0.95
OrderedSet add up to 64 items then delete first 4.4352 us/op 4.3370 us/op 1.02
Set add up to 64 items then delete last 3.6423 us/op 3.2574 us/op 1.12
OrderedSet add up to 64 items then delete last 5.2917 us/op 5.2753 us/op 1.00
Set add up to 64 items then delete middle 3.7353 us/op 3.1165 us/op 1.20
OrderedSet add up to 64 items then delete middle 7.2081 us/op 6.7109 us/op 1.07
Set add up to 128 items then delete first 7.0870 us/op 6.5470 us/op 1.08
OrderedSet add up to 128 items then delete first 11.331 us/op 11.342 us/op 1.00
Set add up to 128 items then delete last 6.9754 us/op 6.3558 us/op 1.10
OrderedSet add up to 128 items then delete last 11.033 us/op 10.291 us/op 1.07
Set add up to 128 items then delete middle 6.7237 us/op 6.3495 us/op 1.06
OrderedSet add up to 128 items then delete middle 17.584 us/op 16.878 us/op 1.04
Set add up to 256 items then delete first 13.763 us/op 13.373 us/op 1.03
OrderedSet add up to 256 items then delete first 24.866 us/op 20.756 us/op 1.20
Set add up to 256 items then delete last 13.685 us/op 12.325 us/op 1.11
OrderedSet add up to 256 items then delete last 21.959 us/op 18.571 us/op 1.18
Set add up to 256 items then delete middle 14.177 us/op 12.827 us/op 1.11
OrderedSet add up to 256 items then delete middle 52.688 us/op 48.533 us/op 1.09
transfer serialized Status (84 B) 2.9340 us/op 2.4520 us/op 1.20
copy serialized Status (84 B) 1.8210 us/op 1.6930 us/op 1.08
transfer serialized SignedVoluntaryExit (112 B) 2.6420 us/op 2.7310 us/op 0.97
copy serialized SignedVoluntaryExit (112 B) 1.7780 us/op 1.4410 us/op 1.23
transfer serialized ProposerSlashing (416 B) 3.5530 us/op 3.1000 us/op 1.15
copy serialized ProposerSlashing (416 B) 1.7540 us/op 1.9480 us/op 0.90
transfer serialized Attestation (485 B) 2.8580 us/op 3.2960 us/op 0.87
copy serialized Attestation (485 B) 1.9490 us/op 1.8820 us/op 1.04
transfer serialized AttesterSlashing (33232 B) 3.0190 us/op 2.8400 us/op 1.06
copy serialized AttesterSlashing (33232 B) 5.4470 us/op 6.4680 us/op 0.84
transfer serialized Small SignedBeaconBlock (128000 B) 3.7680 us/op 3.4880 us/op 1.08
copy serialized Small SignedBeaconBlock (128000 B) 14.634 us/op 14.027 us/op 1.04
transfer serialized Avg SignedBeaconBlock (200000 B) 4.2560 us/op 3.8670 us/op 1.10
copy serialized Avg SignedBeaconBlock (200000 B) 21.964 us/op 20.704 us/op 1.06
transfer serialized BlobsSidecar (524380 B) 5.1100 us/op 4.3550 us/op 1.17
copy serialized BlobsSidecar (524380 B) 76.958 us/op 120.68 us/op 0.64
transfer serialized Big SignedBeaconBlock (1000000 B) 4.7610 us/op 4.5160 us/op 1.05
copy serialized Big SignedBeaconBlock (1000000 B) 163.61 us/op 345.03 us/op 0.47
pass gossip attestations to forkchoice per slot 3.3655 ms/op 2.8429 ms/op 1.18
forkChoice updateHead vc 100000 bc 64 eq 0 465.00 us/op 519.75 us/op 0.89
forkChoice updateHead vc 600000 bc 64 eq 0 3.4621 ms/op 3.2034 ms/op 1.08
forkChoice updateHead vc 1000000 bc 64 eq 0 6.1260 ms/op 5.3895 ms/op 1.14
forkChoice updateHead vc 600000 bc 320 eq 0 4.5152 ms/op 2.9734 ms/op 1.52
forkChoice updateHead vc 600000 bc 1200 eq 0 4.1937 ms/op 3.0495 ms/op 1.38
forkChoice updateHead vc 600000 bc 7200 eq 0 5.0885 ms/op 3.3701 ms/op 1.51
forkChoice updateHead vc 600000 bc 64 eq 1000 11.328 ms/op 10.761 ms/op 1.05
forkChoice updateHead vc 600000 bc 64 eq 10000 12.079 ms/op 10.917 ms/op 1.11
forkChoice updateHead vc 600000 bc 64 eq 300000 15.722 ms/op 15.261 ms/op 1.03
computeDeltas 500000 validators 300 proto nodes 4.4550 ms/op 4.4175 ms/op 1.01
computeDeltas 500000 validators 1200 proto nodes 4.6386 ms/op 4.5287 ms/op 1.02
computeDeltas 500000 validators 7200 proto nodes 4.5867 ms/op 4.7489 ms/op 0.97
computeDeltas 750000 validators 300 proto nodes 7.0345 ms/op 6.4421 ms/op 1.09
computeDeltas 750000 validators 1200 proto nodes 6.7313 ms/op 6.2402 ms/op 1.08
computeDeltas 750000 validators 7200 proto nodes 6.6809 ms/op 6.3149 ms/op 1.06
computeDeltas 1400000 validators 300 proto nodes 12.521 ms/op 11.379 ms/op 1.10
computeDeltas 1400000 validators 1200 proto nodes 11.347 ms/op 11.224 ms/op 1.01
computeDeltas 1400000 validators 7200 proto nodes 12.236 ms/op 11.177 ms/op 1.09
computeDeltas 2100000 validators 300 proto nodes 17.570 ms/op 16.721 ms/op 1.05
computeDeltas 2100000 validators 1200 proto nodes 17.413 ms/op 16.814 ms/op 1.04
computeDeltas 2100000 validators 7200 proto nodes 17.169 ms/op 18.113 ms/op 0.95
altair processAttestation - 250000 vs - 7PWei normalcase 2.8751 ms/op 3.0405 ms/op 0.95
altair processAttestation - 250000 vs - 7PWei worstcase 3.3324 ms/op 3.4348 ms/op 0.97
altair processAttestation - setStatus - 1/6 committees join 132.44 us/op 132.76 us/op 1.00
altair processAttestation - setStatus - 1/3 committees join 268.68 us/op 280.09 us/op 0.96
altair processAttestation - setStatus - 1/2 committees join 378.61 us/op 393.66 us/op 0.96
altair processAttestation - setStatus - 2/3 committees join 483.52 us/op 498.29 us/op 0.97
altair processAttestation - setStatus - 4/5 committees join 655.26 us/op 723.83 us/op 0.91
altair processAttestation - setStatus - 100% committees join 791.06 us/op 769.02 us/op 1.03
altair processBlock - 250000 vs - 7PWei normalcase 5.4909 ms/op 6.0758 ms/op 0.90
altair processBlock - 250000 vs - 7PWei normalcase hashState 32.440 ms/op 39.779 ms/op 0.82
altair processBlock - 250000 vs - 7PWei worstcase 44.228 ms/op 44.351 ms/op 1.00
altair processBlock - 250000 vs - 7PWei worstcase hashState 101.81 ms/op 90.886 ms/op 1.12
phase0 processBlock - 250000 vs - 7PWei normalcase 2.3070 ms/op 2.1050 ms/op 1.10
phase0 processBlock - 250000 vs - 7PWei worstcase 27.950 ms/op 26.891 ms/op 1.04
altair processEth1Data - 250000 vs - 7PWei normalcase 388.35 us/op 339.19 us/op 1.14
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 8.7650 us/op 7.1780 us/op 1.22
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 79.685 us/op 54.699 us/op 1.46
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 26.671 us/op 18.367 us/op 1.45
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 17.291 us/op 7.8970 us/op 2.19
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 264.81 us/op 233.04 us/op 1.14
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 2.6688 ms/op 2.3760 ms/op 1.12
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 5.6101 ms/op 2.4677 ms/op 2.27
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 6.1440 ms/op 2.4567 ms/op 2.50
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 13.058 ms/op 5.6045 ms/op 2.33
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 5.5396 ms/op 2.5696 ms/op 2.16
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 10.714 ms/op 5.6395 ms/op 1.90
Tree 40 250000 create 1.0349 s/op 659.52 ms/op 1.57
Tree 40 250000 get(125000) 274.76 ns/op 148.38 ns/op 1.85
Tree 40 250000 set(125000) 3.0503 us/op 2.3418 us/op 1.30
Tree 40 250000 toArray() 26.704 ms/op 23.854 ms/op 1.12
Tree 40 250000 iterate all - toArray() + loop 30.601 ms/op 22.346 ms/op 1.37
Tree 40 250000 iterate all - get(i) 71.425 ms/op 61.954 ms/op 1.15
Array 250000 create 3.6247 ms/op 2.6760 ms/op 1.35
Array 250000 clone - spread 5.5037 ms/op 1.7022 ms/op 3.23
Array 250000 get(125000) 0.81600 ns/op 0.45400 ns/op 1.80
Array 250000 set(125000) 0.99100 ns/op 0.44400 ns/op 2.23
Array 250000 iterate all - loop 283.11 us/op 85.551 us/op 3.31
phase0 afterProcessEpoch - 250000 vs - 7PWei 61.039 ms/op 44.190 ms/op 1.38
Array.fill - length 1000000 7.0628 ms/op 4.3511 ms/op 1.62
Array push - length 1000000 16.227 ms/op 16.290 ms/op 1.00
Array.get 0.29059 ns/op 0.29180 ns/op 1.00
Uint8Array.get 0.46216 ns/op 0.46251 ns/op 1.00
phase0 beforeProcessEpoch - 250000 vs - 7PWei 17.867 ms/op 18.031 ms/op 0.99
altair processEpoch - mainnet_e81889 315.94 ms/op 286.12 ms/op 1.10
mainnet_e81889 - altair beforeProcessEpoch 22.072 ms/op 18.644 ms/op 1.18
mainnet_e81889 - altair processJustificationAndFinalization 5.9080 us/op 5.8370 us/op 1.01
mainnet_e81889 - altair processInactivityUpdates 5.5935 ms/op 6.3334 ms/op 0.88
mainnet_e81889 - altair processRewardsAndPenalties 41.932 ms/op 41.235 ms/op 1.02
mainnet_e81889 - altair processRegistryUpdates 803.00 ns/op 933.00 ns/op 0.86
mainnet_e81889 - altair processSlashings 343.00 ns/op 192.00 ns/op 1.79
mainnet_e81889 - altair processEth1DataReset 347.00 ns/op 207.00 ns/op 1.68
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.4555 ms/op 1.3157 ms/op 1.11
mainnet_e81889 - altair processSlashingsReset 1.4190 us/op 1.2690 us/op 1.12
mainnet_e81889 - altair processRandaoMixesReset 1.3570 us/op 1.3490 us/op 1.01
mainnet_e81889 - altair processHistoricalRootsUpdate 214.00 ns/op 186.00 ns/op 1.15
mainnet_e81889 - altair processParticipationFlagUpdates 608.00 ns/op 577.00 ns/op 1.05
mainnet_e81889 - altair processSyncCommitteeUpdates 153.00 ns/op 149.00 ns/op 1.03
mainnet_e81889 - altair afterProcessEpoch 46.242 ms/op 46.563 ms/op 0.99
capella processEpoch - mainnet_e217614 986.75 ms/op 1.0975 s/op 0.90
mainnet_e217614 - capella beforeProcessEpoch 63.656 ms/op 78.541 ms/op 0.81
mainnet_e217614 - capella processJustificationAndFinalization 5.2630 us/op 6.1770 us/op 0.85
mainnet_e217614 - capella processInactivityUpdates 14.440 ms/op 16.130 ms/op 0.90
mainnet_e217614 - capella processRewardsAndPenalties 202.28 ms/op 187.15 ms/op 1.08
mainnet_e217614 - capella processRegistryUpdates 7.3880 us/op 8.2710 us/op 0.89
mainnet_e217614 - capella processSlashings 189.00 ns/op 211.00 ns/op 0.90
mainnet_e217614 - capella processEth1DataReset 193.00 ns/op 193.00 ns/op 1.00
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.2178 ms/op 4.2728 ms/op 0.99
mainnet_e217614 - capella processSlashingsReset 954.00 ns/op 1.0360 us/op 0.92
mainnet_e217614 - capella processRandaoMixesReset 1.3450 us/op 1.2490 us/op 1.08
mainnet_e217614 - capella processHistoricalRootsUpdate 190.00 ns/op 203.00 ns/op 0.94
mainnet_e217614 - capella processParticipationFlagUpdates 570.00 ns/op 567.00 ns/op 1.01
mainnet_e217614 - capella afterProcessEpoch 115.83 ms/op 122.10 ms/op 0.95
phase0 processEpoch - mainnet_e58758 283.80 ms/op 350.54 ms/op 0.81
mainnet_e58758 - phase0 beforeProcessEpoch 95.259 ms/op 92.149 ms/op 1.03
mainnet_e58758 - phase0 processJustificationAndFinalization 5.5780 us/op 6.8450 us/op 0.81
mainnet_e58758 - phase0 processRewardsAndPenalties 48.581 ms/op 42.568 ms/op 1.14
mainnet_e58758 - phase0 processRegistryUpdates 3.1360 us/op 3.2520 us/op 0.96
mainnet_e58758 - phase0 processSlashings 214.00 ns/op 199.00 ns/op 1.08
mainnet_e58758 - phase0 processEth1DataReset 179.00 ns/op 202.00 ns/op 0.89
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.1898 ms/op 3.3313 ms/op 0.36
mainnet_e58758 - phase0 processSlashingsReset 917.00 ns/op 1.1100 us/op 0.83
mainnet_e58758 - phase0 processRandaoMixesReset 1.2540 us/op 1.4020 us/op 0.89
mainnet_e58758 - phase0 processHistoricalRootsUpdate 176.00 ns/op 197.00 ns/op 0.89
mainnet_e58758 - phase0 processParticipationRecordUpdates 885.00 ns/op 1.0030 us/op 0.88
mainnet_e58758 - phase0 afterProcessEpoch 36.062 ms/op 38.568 ms/op 0.94
phase0 processEffectiveBalanceUpdates - 250000 normalcase 2.4896 ms/op 1.6269 ms/op 1.53
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.0823 ms/op 3.2108 ms/op 0.65
altair processInactivityUpdates - 250000 normalcase 25.563 ms/op 21.363 ms/op 1.20
altair processInactivityUpdates - 250000 worstcase 24.392 ms/op 19.358 ms/op 1.26
phase0 processRegistryUpdates - 250000 normalcase 8.8650 us/op 8.9530 us/op 0.99
phase0 processRegistryUpdates - 250000 badcase_full_deposits 454.53 us/op 319.60 us/op 1.42
phase0 processRegistryUpdates - 250000 worstcase 0.5 125.52 ms/op 141.79 ms/op 0.89
altair processRewardsAndPenalties - 250000 normalcase 45.479 ms/op 25.835 ms/op 1.76
altair processRewardsAndPenalties - 250000 worstcase 38.603 ms/op 28.966 ms/op 1.33
phase0 getAttestationDeltas - 250000 normalcase 7.4861 ms/op 7.9674 ms/op 0.94
phase0 getAttestationDeltas - 250000 worstcase 6.7353 ms/op 6.3060 ms/op 1.07
phase0 processSlashings - 250000 worstcase 119.08 us/op 102.43 us/op 1.16
altair processSyncCommitteeUpdates - 250000 11.349 ms/op 11.936 ms/op 0.95
BeaconState.hashTreeRoot - No change 227.00 ns/op 236.00 ns/op 0.96
BeaconState.hashTreeRoot - 1 full validator 90.062 us/op 91.592 us/op 0.98
BeaconState.hashTreeRoot - 32 full validator 718.54 us/op 835.20 us/op 0.86
BeaconState.hashTreeRoot - 512 full validator 8.8934 ms/op 10.798 ms/op 0.82
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 89.512 us/op 114.44 us/op 0.78
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.2403 ms/op 1.7096 ms/op 0.73
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 30.921 ms/op 21.776 ms/op 1.42
BeaconState.hashTreeRoot - 1 balances 91.084 us/op 77.647 us/op 1.17
BeaconState.hashTreeRoot - 32 balances 814.98 us/op 871.84 us/op 0.93
BeaconState.hashTreeRoot - 512 balances 7.1152 ms/op 8.8621 ms/op 0.80
BeaconState.hashTreeRoot - 250000 balances 180.03 ms/op 182.89 ms/op 0.98
aggregationBits - 2048 els - zipIndexesInBitList 21.662 us/op 26.048 us/op 0.83
byteArrayEquals 32 54.608 ns/op 55.456 ns/op 0.98
Buffer.compare 32 17.514 ns/op 17.653 ns/op 0.99
byteArrayEquals 1024 1.6227 us/op 1.6511 us/op 0.98
Buffer.compare 1024 25.014 ns/op 26.384 ns/op 0.95
byteArrayEquals 16384 25.915 us/op 26.141 us/op 0.99
Buffer.compare 16384 184.06 ns/op 200.58 ns/op 0.92
byteArrayEquals 123687377 190.94 ms/op 201.62 ms/op 0.95
Buffer.compare 123687377 6.3796 ms/op 8.1152 ms/op 0.79
byteArrayEquals 32 - diff last byte 52.188 ns/op 54.246 ns/op 0.96
Buffer.compare 32 - diff last byte 17.575 ns/op 17.898 ns/op 0.98
byteArrayEquals 1024 - diff last byte 1.5716 us/op 1.6709 us/op 0.94
Buffer.compare 1024 - diff last byte 25.179 ns/op 27.088 ns/op 0.93
byteArrayEquals 16384 - diff last byte 25.206 us/op 30.491 us/op 0.83
Buffer.compare 16384 - diff last byte 200.88 ns/op 211.23 ns/op 0.95
byteArrayEquals 123687377 - diff last byte 191.89 ms/op 207.10 ms/op 0.93
Buffer.compare 123687377 - diff last byte 6.2348 ms/op 7.2971 ms/op 0.85
byteArrayEquals 32 - random bytes 5.0640 ns/op 5.2760 ns/op 0.96
Buffer.compare 32 - random bytes 17.456 ns/op 17.586 ns/op 0.99
byteArrayEquals 1024 - random bytes 5.1310 ns/op 5.2130 ns/op 0.98
Buffer.compare 1024 - random bytes 17.232 ns/op 17.433 ns/op 0.99
byteArrayEquals 16384 - random bytes 5.1000 ns/op 5.2270 ns/op 0.98
Buffer.compare 16384 - random bytes 17.608 ns/op 17.474 ns/op 1.01
byteArrayEquals 123687377 - random bytes 8.7600 ns/op 7.1500 ns/op 1.23
Buffer.compare 123687377 - random bytes 18.120 ns/op 20.460 ns/op 0.89
regular array get 100000 times 32.511 us/op 41.365 us/op 0.79
wrappedArray get 100000 times 32.162 us/op 33.411 us/op 0.96
arrayWithProxy get 100000 times 12.200 ms/op 12.259 ms/op 1.00
ssz.Root.equals 45.601 ns/op 47.232 ns/op 0.97
byteArrayEquals 44.845 ns/op 46.323 ns/op 0.97
Buffer.compare 10.616 ns/op 10.538 ns/op 1.01
processSlot - 1 slots 10.274 us/op 10.907 us/op 0.94
processSlot - 32 slots 2.4007 ms/op 2.7761 ms/op 0.86
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 2.9301 ms/op 3.1306 ms/op 0.94
getCommitteeAssignments - req 1 vs - 250000 vc 2.1398 ms/op 2.1471 ms/op 1.00
getCommitteeAssignments - req 100 vs - 250000 vc 4.1512 ms/op 4.3673 ms/op 0.95
getCommitteeAssignments - req 1000 vs - 250000 vc 4.4548 ms/op 4.5305 ms/op 0.98
findModifiedValidators - 10000 modified validators 762.03 ms/op 780.92 ms/op 0.98
findModifiedValidators - 1000 modified validators 664.16 ms/op 765.50 ms/op 0.87
findModifiedValidators - 100 modified validators 174.90 ms/op 229.79 ms/op 0.76
findModifiedValidators - 10 modified validators 168.63 ms/op 184.11 ms/op 0.92
findModifiedValidators - 1 modified validators 195.11 ms/op 148.35 ms/op 1.32
findModifiedValidators - no difference 255.75 ms/op 157.46 ms/op 1.62
compare ViewDUs 6.7143 s/op 6.3723 s/op 1.05
compare each validator Uint8Array 1.4953 s/op 1.5756 s/op 0.95
compare ViewDU to Uint8Array 1.1318 s/op 1.1170 s/op 1.01
migrate state 1000000 validators, 24 modified, 0 new 892.27 ms/op 930.58 ms/op 0.96
migrate state 1000000 validators, 1700 modified, 1000 new 1.2096 s/op 1.1710 s/op 1.03
migrate state 1000000 validators, 3400 modified, 2000 new 1.3147 s/op 1.4651 s/op 0.90
migrate state 1500000 validators, 24 modified, 0 new 843.56 ms/op 917.58 ms/op 0.92
migrate state 1500000 validators, 1700 modified, 1000 new 1.1863 s/op 1.1421 s/op 1.04
migrate state 1500000 validators, 3400 modified, 2000 new 1.3396 s/op 1.3266 s/op 1.01
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.3300 ns/op 4.3100 ns/op 1.00
state getBlockRootAtSlot - 250000 vs - 7PWei 533.79 ns/op 432.01 ns/op 1.24
naive computeProposerIndex 100000 validators 51.409 ms/op 57.670 ms/op 0.89
computeProposerIndex 100000 validators 1.8106 ms/op 1.5402 ms/op 1.18
naiveGetNextSyncCommitteeIndices 1000 validators 9.3730 s/op 8.6169 s/op 1.09
getNextSyncCommitteeIndices 1000 validators 201.05 ms/op 117.89 ms/op 1.71
naiveGetNextSyncCommitteeIndices 10000 validators 8.1799 s/op 6.8077 s/op 1.20
getNextSyncCommitteeIndices 10000 validators 112.54 ms/op 110.28 ms/op 1.02
naiveGetNextSyncCommitteeIndices 100000 validators 8.7929 s/op 7.5671 s/op 1.16
getNextSyncCommitteeIndices 100000 validators 135.15 ms/op 109.99 ms/op 1.23
naive computeShuffledIndex 100000 validators 30.129 s/op 23.300 s/op 1.29
cached computeShuffledIndex 100000 validators 608.99 ms/op 560.61 ms/op 1.09
naive computeShuffledIndex 2000000 validators 566.20 s/op 501.01 s/op 1.13
cached computeShuffledIndex 2000000 validators 36.749 s/op 31.475 s/op 1.17
computeProposers - vc 250000 642.92 us/op 606.67 us/op 1.06
computeEpochShuffling - vc 250000 44.534 ms/op 41.732 ms/op 1.07
getNextSyncCommittee - vc 250000 11.603 ms/op 10.454 ms/op 1.11
computeSigningRoot for AttestationData 24.563 us/op 18.799 us/op 1.31
hash AttestationData serialized data then Buffer.toString(base64) 1.7235 us/op 1.5790 us/op 1.09
toHexString serialized data 1.3339 us/op 1.0811 us/op 1.23
Buffer.toString(base64) 165.44 ns/op 140.59 ns/op 1.18
nodejs block root to RootHex using toHex 158.13 ns/op 154.46 ns/op 1.02
nodejs block root to RootHex using toRootHex 98.635 ns/op 93.010 ns/op 1.06
browser block root to RootHex using the deprecated toHexString 228.61 ns/op 207.07 ns/op 1.10
browser block root to RootHex using toHex 182.54 ns/op 168.01 ns/op 1.09
browser block root to RootHex using toRootHex 176.11 ns/op 156.88 ns/op 1.12

by benchmarkbot/action

@ensi321 ensi321 merged commit 2b54941 into unstable May 22, 2025
20 checks passed
@ensi321 ensi321 deleted the nflaig/configure-blob-schedule branch May 22, 2025 20:11
@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.

4 participants