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

fix: update BeaconBlocksByRoot/Range rate limits to use deneb value #7409

Merged
merged 2 commits into from
Jan 30, 2025

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Jan 29, 2025

Since #7405 we have access to fork name and can apply correct rate limits to BeaconBlocksByRoot/Range, we wanna use MAX_REQUEST_BLOCKS_DENEB consistently for both methods since Deneb.

@nflaig nflaig requested a review from a team as a code owner January 29, 2025 11:19
Copy link

codecov bot commented Jan 29, 2025

Codecov Report

Attention: Patch coverage is 33.33333% with 2 lines in your changes missing coverage. Please review.

Project coverage is 48.44%. Comparing base (cf1ecbb) to head (dc44d99).
Report is 1 commits behind head on unstable.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #7409   +/-   ##
=========================================
  Coverage     48.44%   48.44%           
=========================================
  Files           602      602           
  Lines         40407    40407           
  Branches       2068     2069    +1     
=========================================
+ Hits          19576    19577    +1     
+ Misses        20793    20792    -1     
  Partials         38       38           

Copy link
Contributor

github-actions bot commented Jan 29, 2025

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 78338e3 Previous: cf1ecbb Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.6350 ms/op 1.8569 ms/op 0.88
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 38.217 us/op 56.551 us/op 0.68
BLS verify - blst 862.16 us/op 943.71 us/op 0.91
BLS verifyMultipleSignatures 3 - blst 1.3242 ms/op 1.8171 ms/op 0.73
BLS verifyMultipleSignatures 8 - blst 2.0815 ms/op 2.1767 ms/op 0.96
BLS verifyMultipleSignatures 32 - blst 4.5286 ms/op 4.5984 ms/op 0.98
BLS verifyMultipleSignatures 64 - blst 8.3940 ms/op 8.9696 ms/op 0.94
BLS verifyMultipleSignatures 128 - blst 16.034 ms/op 16.806 ms/op 0.95
BLS deserializing 10000 signatures 622.60 ms/op 640.05 ms/op 0.97
BLS deserializing 100000 signatures 6.2186 s/op 6.1858 s/op 1.01
BLS verifyMultipleSignatures - same message - 3 - blst 952.42 us/op 926.87 us/op 1.03
BLS verifyMultipleSignatures - same message - 8 - blst 1.1137 ms/op 1.0466 ms/op 1.06
BLS verifyMultipleSignatures - same message - 32 - blst 1.6940 ms/op 1.6752 ms/op 1.01
BLS verifyMultipleSignatures - same message - 64 - blst 2.4513 ms/op 2.4333 ms/op 1.01
BLS verifyMultipleSignatures - same message - 128 - blst 4.1831 ms/op 4.0496 ms/op 1.03
BLS aggregatePubkeys 32 - blst 18.394 us/op 17.800 us/op 1.03
BLS aggregatePubkeys 128 - blst 62.922 us/op 61.577 us/op 1.02
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 65.457 ms/op 45.074 ms/op 1.45
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 53.018 ms/op 42.812 ms/op 1.24
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 37.501 ms/op 34.472 ms/op 1.09
getSlashingsAndExits - default max 61.659 us/op 59.931 us/op 1.03
getSlashingsAndExits - 2k 270.37 us/op 292.81 us/op 0.92
proposeBlockBody type=full, size=empty 4.3880 ms/op 4.2669 ms/op 1.03
isKnown best case - 1 super set check 451.00 ns/op 473.00 ns/op 0.95
isKnown normal case - 2 super set checks 429.00 ns/op 581.00 ns/op 0.74
isKnown worse case - 16 super set checks 409.00 ns/op 486.00 ns/op 0.84
InMemoryCheckpointStateCache - add get delete 2.6420 us/op 3.8730 us/op 0.68
validate api signedAggregateAndProof - struct 1.4191 ms/op 1.6549 ms/op 0.86
validate gossip signedAggregateAndProof - struct 1.8236 ms/op 1.7755 ms/op 1.03
batch validate gossip attestation - vc 640000 - chunk 32 121.58 us/op 134.76 us/op 0.90
batch validate gossip attestation - vc 640000 - chunk 64 102.77 us/op 124.95 us/op 0.82
batch validate gossip attestation - vc 640000 - chunk 128 95.072 us/op 97.665 us/op 0.97
batch validate gossip attestation - vc 640000 - chunk 256 94.226 us/op 95.329 us/op 0.99
pickEth1Vote - no votes 885.58 us/op 831.27 us/op 1.07
pickEth1Vote - max votes 5.7787 ms/op 4.8511 ms/op 1.19
pickEth1Vote - Eth1Data hashTreeRoot value x2048 13.131 ms/op 12.073 ms/op 1.09
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 21.044 ms/op 17.432 ms/op 1.21
pickEth1Vote - Eth1Data fastSerialize value x2048 373.51 us/op 385.61 us/op 0.97
pickEth1Vote - Eth1Data fastSerialize tree x2048 3.2882 ms/op 2.5464 ms/op 1.29
bytes32 toHexString 577.00 ns/op 595.00 ns/op 0.97
bytes32 Buffer.toString(hex) 409.00 ns/op 438.00 ns/op 0.93
bytes32 Buffer.toString(hex) from Uint8Array 505.00 ns/op 551.00 ns/op 0.92
bytes32 Buffer.toString(hex) + 0x 402.00 ns/op 452.00 ns/op 0.89
Object access 1 prop 0.32600 ns/op 0.31000 ns/op 1.05
Map access 1 prop 0.31400 ns/op 0.30600 ns/op 1.03
Object get x1000 5.3060 ns/op 4.8900 ns/op 1.09
Map get x1000 5.7000 ns/op 5.6430 ns/op 1.01
Object set x1000 24.676 ns/op 22.740 ns/op 1.09
Map set x1000 19.110 ns/op 18.587 ns/op 1.03
Return object 10000 times 0.29620 ns/op 0.28760 ns/op 1.03
Throw Error 10000 times 2.7480 us/op 2.5863 us/op 1.06
toHex 122.79 ns/op 102.21 ns/op 1.20
Buffer.from 103.93 ns/op 98.704 ns/op 1.05
shared Buffer 69.280 ns/op 71.244 ns/op 0.97
fastMsgIdFn sha256 / 200 bytes 2.0450 us/op 2.0310 us/op 1.01
fastMsgIdFn h32 xxhash / 200 bytes 437.00 ns/op 414.00 ns/op 1.06
fastMsgIdFn h64 xxhash / 200 bytes 463.00 ns/op 452.00 ns/op 1.02
fastMsgIdFn sha256 / 1000 bytes 6.3570 us/op 6.0020 us/op 1.06
fastMsgIdFn h32 xxhash / 1000 bytes 603.00 ns/op 514.00 ns/op 1.17
fastMsgIdFn h64 xxhash / 1000 bytes 518.00 ns/op 508.00 ns/op 1.02
fastMsgIdFn sha256 / 10000 bytes 50.888 us/op 49.370 us/op 1.03
fastMsgIdFn h32 xxhash / 10000 bytes 1.9080 us/op 1.8820 us/op 1.01
fastMsgIdFn h64 xxhash / 10000 bytes 1.3070 us/op 1.3140 us/op 0.99
send data - 1000 256B messages 12.975 ms/op 10.786 ms/op 1.20
send data - 1000 512B messages 15.961 ms/op 13.594 ms/op 1.17
send data - 1000 1024B messages 25.651 ms/op 20.534 ms/op 1.25
send data - 1000 1200B messages 17.788 ms/op 23.320 ms/op 0.76
send data - 1000 2048B messages 31.107 ms/op 30.276 ms/op 1.03
send data - 1000 4096B messages 28.553 ms/op 29.406 ms/op 0.97
send data - 1000 16384B messages 68.990 ms/op 67.582 ms/op 1.02
send data - 1000 65536B messages 285.54 ms/op 258.09 ms/op 1.11
enrSubnets - fastDeserialize 64 bits 1.2700 us/op 1.1610 us/op 1.09
enrSubnets - ssz BitVector 64 bits 612.00 ns/op 529.00 ns/op 1.16
enrSubnets - fastDeserialize 4 bits 369.00 ns/op 337.00 ns/op 1.09
enrSubnets - ssz BitVector 4 bits 575.00 ns/op 527.00 ns/op 1.09
prioritizePeers score -10:0 att 32-0.1 sync 2-0 110.78 us/op 110.25 us/op 1.00
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 131.21 us/op 136.12 us/op 0.96
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 222.32 us/op 194.87 us/op 1.14
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 375.38 us/op 341.13 us/op 1.10
prioritizePeers score 0:0 att 64-1 sync 4-1 436.37 us/op 418.13 us/op 1.04
array of 16000 items push then shift 1.2468 us/op 1.3434 us/op 0.93
LinkedList of 16000 items push then shift 7.1760 ns/op 7.6730 ns/op 0.94
array of 16000 items push then pop 97.633 ns/op 111.33 ns/op 0.88
LinkedList of 16000 items push then pop 6.4010 ns/op 6.3680 ns/op 1.01
array of 24000 items push then shift 1.8343 us/op 1.8395 us/op 1.00
LinkedList of 24000 items push then shift 7.3690 ns/op 7.4040 ns/op 1.00
array of 24000 items push then pop 125.19 ns/op 139.85 ns/op 0.90
LinkedList of 24000 items push then pop 6.3260 ns/op 6.1600 ns/op 1.03
intersect bitArray bitLen 8 5.2970 ns/op 5.3880 ns/op 0.98
intersect array and set length 8 36.686 ns/op 37.528 ns/op 0.98
intersect bitArray bitLen 128 25.609 ns/op 27.594 ns/op 0.93
intersect array and set length 128 595.74 ns/op 575.75 ns/op 1.03
bitArray.getTrueBitIndexes() bitLen 128 1.5940 us/op 1.4140 us/op 1.13
bitArray.getTrueBitIndexes() bitLen 248 2.5560 us/op 2.3400 us/op 1.09
bitArray.getTrueBitIndexes() bitLen 512 5.5710 us/op 4.6270 us/op 1.20
Buffer.concat 32 items 954.00 ns/op 918.00 ns/op 1.04
Uint8Array.set 32 items 1.8130 us/op 1.6160 us/op 1.12
Buffer.copy 2.6360 us/op 2.4950 us/op 1.06
Uint8Array.set - with subarray 2.3500 us/op 2.1370 us/op 1.10
Uint8Array.set - without subarray 1.7730 us/op 1.4420 us/op 1.23
getUint32 - dataview 432.00 ns/op 392.00 ns/op 1.10
getUint32 - manual 386.00 ns/op 324.00 ns/op 1.19
Set add up to 64 items then delete first 1.7788 us/op 1.7906 us/op 0.99
OrderedSet add up to 64 items then delete first 2.8138 us/op 2.7749 us/op 1.01
Set add up to 64 items then delete last 2.0308 us/op 2.0405 us/op 1.00
OrderedSet add up to 64 items then delete last 3.0373 us/op 3.2030 us/op 0.95
Set add up to 64 items then delete middle 2.0144 us/op 2.0640 us/op 0.98
OrderedSet add up to 64 items then delete middle 4.4299 us/op 4.6397 us/op 0.95
Set add up to 128 items then delete first 3.9946 us/op 3.9606 us/op 1.01
OrderedSet add up to 128 items then delete first 6.2471 us/op 5.9708 us/op 1.05
Set add up to 128 items then delete last 3.9293 us/op 3.9542 us/op 0.99
OrderedSet add up to 128 items then delete last 5.7626 us/op 6.2272 us/op 0.93
Set add up to 128 items then delete middle 3.8290 us/op 4.1339 us/op 0.93
OrderedSet add up to 128 items then delete middle 12.437 us/op 11.746 us/op 1.06
Set add up to 256 items then delete first 7.9589 us/op 7.4899 us/op 1.06
OrderedSet add up to 256 items then delete first 12.197 us/op 11.484 us/op 1.06
Set add up to 256 items then delete last 7.7943 us/op 7.4687 us/op 1.04
OrderedSet add up to 256 items then delete last 11.503 us/op 11.831 us/op 0.97
Set add up to 256 items then delete middle 7.5432 us/op 7.3627 us/op 1.02
OrderedSet add up to 256 items then delete middle 34.648 us/op 34.095 us/op 1.02
transfer serialized Status (84 B) 2.2190 us/op 2.1480 us/op 1.03
copy serialized Status (84 B) 1.3510 us/op 1.3430 us/op 1.01
transfer serialized SignedVoluntaryExit (112 B) 2.7640 us/op 2.2310 us/op 1.24
copy serialized SignedVoluntaryExit (112 B) 1.7010 us/op 1.3510 us/op 1.26
transfer serialized ProposerSlashing (416 B) 3.5280 us/op 2.9490 us/op 1.20
copy serialized ProposerSlashing (416 B) 2.7740 us/op 2.4350 us/op 1.14
transfer serialized Attestation (485 B) 3.4670 us/op 3.0970 us/op 1.12
copy serialized Attestation (485 B) 2.7210 us/op 2.0530 us/op 1.33
transfer serialized AttesterSlashing (33232 B) 3.6380 us/op 2.7730 us/op 1.31
copy serialized AttesterSlashing (33232 B) 6.7020 us/op 5.7390 us/op 1.17
transfer serialized Small SignedBeaconBlock (128000 B) 4.1510 us/op 3.2580 us/op 1.27
copy serialized Small SignedBeaconBlock (128000 B) 14.356 us/op 18.107 us/op 0.79
transfer serialized Avg SignedBeaconBlock (200000 B) 4.2890 us/op 3.3930 us/op 1.26
copy serialized Avg SignedBeaconBlock (200000 B) 23.950 us/op 22.591 us/op 1.06
transfer serialized BlobsSidecar (524380 B) 4.4720 us/op 4.3270 us/op 1.03
copy serialized BlobsSidecar (524380 B) 73.471 us/op 118.58 us/op 0.62
transfer serialized Big SignedBeaconBlock (1000000 B) 4.8890 us/op 4.7920 us/op 1.02
copy serialized Big SignedBeaconBlock (1000000 B) 212.10 us/op 135.30 us/op 1.57
pass gossip attestations to forkchoice per slot 2.4039 ms/op 2.7213 ms/op 0.88
forkChoice updateHead vc 100000 bc 64 eq 0 390.24 us/op 364.73 us/op 1.07
forkChoice updateHead vc 600000 bc 64 eq 0 2.6080 ms/op 2.3231 ms/op 1.12
forkChoice updateHead vc 1000000 bc 64 eq 0 3.4586 ms/op 4.0518 ms/op 0.85
forkChoice updateHead vc 600000 bc 320 eq 0 2.3024 ms/op 2.1802 ms/op 1.06
forkChoice updateHead vc 600000 bc 1200 eq 0 2.2356 ms/op 2.2110 ms/op 1.01
forkChoice updateHead vc 600000 bc 7200 eq 0 2.7920 ms/op 2.4322 ms/op 1.15
forkChoice updateHead vc 600000 bc 64 eq 1000 9.3421 ms/op 9.1855 ms/op 1.02
forkChoice updateHead vc 600000 bc 64 eq 10000 9.5931 ms/op 9.5316 ms/op 1.01
forkChoice updateHead vc 600000 bc 64 eq 300000 16.253 ms/op 11.544 ms/op 1.41
computeDeltas 500000 validators 300 proto nodes 3.4083 ms/op 3.4659 ms/op 0.98
computeDeltas 500000 validators 1200 proto nodes 3.5283 ms/op 3.3417 ms/op 1.06
computeDeltas 500000 validators 7200 proto nodes 3.4207 ms/op 3.3150 ms/op 1.03
computeDeltas 750000 validators 300 proto nodes 5.2503 ms/op 5.1554 ms/op 1.02
computeDeltas 750000 validators 1200 proto nodes 5.4329 ms/op 5.0939 ms/op 1.07
computeDeltas 750000 validators 7200 proto nodes 5.1376 ms/op 4.8762 ms/op 1.05
computeDeltas 1400000 validators 300 proto nodes 9.1941 ms/op 9.4376 ms/op 0.97
computeDeltas 1400000 validators 1200 proto nodes 9.1552 ms/op 10.218 ms/op 0.90
computeDeltas 1400000 validators 7200 proto nodes 8.8849 ms/op 9.3616 ms/op 0.95
computeDeltas 2100000 validators 300 proto nodes 13.478 ms/op 14.346 ms/op 0.94
computeDeltas 2100000 validators 1200 proto nodes 14.026 ms/op 14.251 ms/op 0.98
computeDeltas 2100000 validators 7200 proto nodes 13.541 ms/op 14.728 ms/op 0.92
altair processAttestation - 250000 vs - 7PWei normalcase 1.6136 ms/op 1.6138 ms/op 1.00
altair processAttestation - 250000 vs - 7PWei worstcase 2.3852 ms/op 2.3618 ms/op 1.01
altair processAttestation - setStatus - 1/6 committees join 91.155 us/op 91.516 us/op 1.00
altair processAttestation - setStatus - 1/3 committees join 173.00 us/op 176.28 us/op 0.98
altair processAttestation - setStatus - 1/2 committees join 260.18 us/op 269.06 us/op 0.97
altair processAttestation - setStatus - 2/3 committees join 347.67 us/op 351.36 us/op 0.99
altair processAttestation - setStatus - 4/5 committees join 479.18 us/op 480.18 us/op 1.00
altair processAttestation - setStatus - 100% committees join 559.33 us/op 568.95 us/op 0.98
altair processBlock - 250000 vs - 7PWei normalcase 7.2905 ms/op 4.5298 ms/op 1.61
altair processBlock - 250000 vs - 7PWei normalcase hashState 25.000 ms/op 25.102 ms/op 1.00
altair processBlock - 250000 vs - 7PWei worstcase 36.768 ms/op 35.949 ms/op 1.02
altair processBlock - 250000 vs - 7PWei worstcase hashState 80.662 ms/op 80.458 ms/op 1.00
phase0 processBlock - 250000 vs - 7PWei normalcase 1.5966 ms/op 1.8235 ms/op 0.88
phase0 processBlock - 250000 vs - 7PWei worstcase 22.305 ms/op 22.157 ms/op 1.01
altair processEth1Data - 250000 vs - 7PWei normalcase 318.94 us/op 326.53 us/op 0.98
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 5.0610 us/op 5.0570 us/op 1.00
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 30.848 us/op 24.872 us/op 1.24
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 7.8270 us/op 7.2510 us/op 1.08
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 4.7670 us/op 4.8320 us/op 0.99
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 71.612 us/op 104.34 us/op 0.69
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.3694 ms/op 1.1739 ms/op 1.17
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.0551 ms/op 1.0111 ms/op 1.04
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.0461 ms/op 965.95 us/op 1.08
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.7273 ms/op 2.7922 ms/op 0.98
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.1127 ms/op 1.0929 ms/op 1.02
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 2.8070 ms/op 2.6612 ms/op 1.05
Tree 40 250000 create 340.68 ms/op 364.74 ms/op 0.93
Tree 40 250000 get(125000) 113.39 ns/op 120.02 ns/op 0.94
Tree 40 250000 set(125000) 1.0897 us/op 1.4350 us/op 0.76
Tree 40 250000 toArray() 9.2304 ms/op 10.131 ms/op 0.91
Tree 40 250000 iterate all - toArray() + loop 9.3744 ms/op 9.2685 ms/op 1.01
Tree 40 250000 iterate all - get(i) 39.774 ms/op 40.192 ms/op 0.99
Array 250000 create 2.2738 ms/op 2.3125 ms/op 0.98
Array 250000 clone - spread 1.1914 ms/op 1.1527 ms/op 1.03
Array 250000 get(125000) 0.57300 ns/op 0.59100 ns/op 0.97
Array 250000 set(125000) 0.58100 ns/op 0.61400 ns/op 0.95
Array 250000 iterate all - loop 77.255 us/op 77.564 us/op 1.00
phase0 afterProcessEpoch - 250000 vs - 7PWei 38.992 ms/op 41.767 ms/op 0.93
Array.fill - length 1000000 2.3112 ms/op 2.5010 ms/op 0.92
Array push - length 1000000 13.902 ms/op 15.827 ms/op 0.88
Array.get 0.25696 ns/op 0.25054 ns/op 1.03
Uint8Array.get 0.34312 ns/op 0.34321 ns/op 1.00
phase0 beforeProcessEpoch - 250000 vs - 7PWei 12.349 ms/op 12.737 ms/op 0.97
altair processEpoch - mainnet_e81889 247.79 ms/op 260.69 ms/op 0.95
mainnet_e81889 - altair beforeProcessEpoch 17.584 ms/op 15.838 ms/op 1.11
mainnet_e81889 - altair processJustificationAndFinalization 12.010 us/op 11.485 us/op 1.05
mainnet_e81889 - altair processInactivityUpdates 3.4786 ms/op 3.5802 ms/op 0.97
mainnet_e81889 - altair processRewardsAndPenalties 52.988 ms/op 50.535 ms/op 1.05
mainnet_e81889 - altair processRegistryUpdates 2.4050 us/op 2.0820 us/op 1.16
mainnet_e81889 - altair processSlashings 761.00 ns/op 808.00 ns/op 0.94
mainnet_e81889 - altair processEth1DataReset 819.00 ns/op 841.00 ns/op 0.97
mainnet_e81889 - altair processEffectiveBalanceUpdates 992.78 us/op 1.6486 ms/op 0.60
mainnet_e81889 - altair processSlashingsReset 2.7340 us/op 2.7850 us/op 0.98
mainnet_e81889 - altair processRandaoMixesReset 3.2800 us/op 3.1040 us/op 1.06
mainnet_e81889 - altair processHistoricalRootsUpdate 855.00 ns/op 1.6660 us/op 0.51
mainnet_e81889 - altair processParticipationFlagUpdates 1.8280 us/op 1.8970 us/op 0.96
mainnet_e81889 - altair processSyncCommitteeUpdates 829.00 ns/op 932.00 ns/op 0.89
mainnet_e81889 - altair afterProcessEpoch 44.300 ms/op 43.413 ms/op 1.02
capella processEpoch - mainnet_e217614 813.41 ms/op 1.0159 s/op 0.80
mainnet_e217614 - capella beforeProcessEpoch 69.806 ms/op 67.533 ms/op 1.03
mainnet_e217614 - capella processJustificationAndFinalization 16.450 us/op 12.069 us/op 1.36
mainnet_e217614 - capella processInactivityUpdates 16.302 ms/op 12.095 ms/op 1.35
mainnet_e217614 - capella processRewardsAndPenalties 239.03 ms/op 207.41 ms/op 1.15
mainnet_e217614 - capella processRegistryUpdates 12.595 us/op 12.105 us/op 1.04
mainnet_e217614 - capella processSlashings 960.00 ns/op 1.0840 us/op 0.89
mainnet_e217614 - capella processEth1DataReset 1.0790 us/op 982.00 ns/op 1.10
mainnet_e217614 - capella processEffectiveBalanceUpdates 6.1893 ms/op 14.846 ms/op 0.42
mainnet_e217614 - capella processSlashingsReset 3.1410 us/op 2.7430 us/op 1.15
mainnet_e217614 - capella processRandaoMixesReset 6.6680 us/op 3.9140 us/op 1.70
mainnet_e217614 - capella processHistoricalRootsUpdate 1.0420 us/op 820.00 ns/op 1.27
mainnet_e217614 - capella processParticipationFlagUpdates 2.0720 us/op 2.0100 us/op 1.03
mainnet_e217614 - capella afterProcessEpoch 104.87 ms/op 103.36 ms/op 1.01
phase0 processEpoch - mainnet_e58758 239.21 ms/op 317.94 ms/op 0.75
mainnet_e58758 - phase0 beforeProcessEpoch 71.938 ms/op 75.826 ms/op 0.95
mainnet_e58758 - phase0 processJustificationAndFinalization 13.647 us/op 12.934 us/op 1.06
mainnet_e58758 - phase0 processRewardsAndPenalties 25.753 ms/op 22.438 ms/op 1.15
mainnet_e58758 - phase0 processRegistryUpdates 6.3370 us/op 3.9970 us/op 1.59
mainnet_e58758 - phase0 processSlashings 967.00 ns/op 854.00 ns/op 1.13
mainnet_e58758 - phase0 processEth1DataReset 942.00 ns/op 862.00 ns/op 1.09
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 878.64 us/op 836.89 us/op 1.05
mainnet_e58758 - phase0 processSlashingsReset 3.5760 us/op 7.0410 us/op 0.51
mainnet_e58758 - phase0 processRandaoMixesReset 7.8920 us/op 3.8470 us/op 2.05
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.0210 us/op 920.00 ns/op 1.11
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.0600 us/op 4.4430 us/op 0.91
mainnet_e58758 - phase0 afterProcessEpoch 36.517 ms/op 36.147 ms/op 1.01
phase0 processEffectiveBalanceUpdates - 250000 normalcase 977.40 us/op 987.70 us/op 0.99
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.4593 ms/op 1.5442 ms/op 0.95
altair processInactivityUpdates - 250000 normalcase 17.726 ms/op 16.203 ms/op 1.09
altair processInactivityUpdates - 250000 worstcase 17.012 ms/op 18.442 ms/op 0.92
phase0 processRegistryUpdates - 250000 normalcase 5.3590 us/op 5.5560 us/op 0.96
phase0 processRegistryUpdates - 250000 badcase_full_deposits 292.29 us/op 276.10 us/op 1.06
phase0 processRegistryUpdates - 250000 worstcase 0.5 106.51 ms/op 93.215 ms/op 1.14
altair processRewardsAndPenalties - 250000 normalcase 47.314 ms/op 38.665 ms/op 1.22
altair processRewardsAndPenalties - 250000 worstcase 43.218 ms/op 23.135 ms/op 1.87
phase0 getAttestationDeltas - 250000 normalcase 6.3417 ms/op 6.6700 ms/op 0.95
phase0 getAttestationDeltas - 250000 worstcase 6.1831 ms/op 5.8846 ms/op 1.05
phase0 processSlashings - 250000 worstcase 97.564 us/op 87.492 us/op 1.12
altair processSyncCommitteeUpdates - 250000 95.067 ms/op 96.082 ms/op 0.99
BeaconState.hashTreeRoot - No change 462.00 ns/op 465.00 ns/op 0.99
BeaconState.hashTreeRoot - 1 full validator 77.766 us/op 103.66 us/op 0.75
BeaconState.hashTreeRoot - 32 full validator 737.60 us/op 834.80 us/op 0.88
BeaconState.hashTreeRoot - 512 full validator 8.6442 ms/op 7.0076 ms/op 1.23
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 97.929 us/op 85.541 us/op 1.14
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.4493 ms/op 1.2263 ms/op 1.18
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 20.061 ms/op 15.126 ms/op 1.33
BeaconState.hashTreeRoot - 1 balances 112.10 us/op 68.763 us/op 1.63
BeaconState.hashTreeRoot - 32 balances 1.1124 ms/op 641.98 us/op 1.73
BeaconState.hashTreeRoot - 512 balances 9.1166 ms/op 7.0515 ms/op 1.29
BeaconState.hashTreeRoot - 250000 balances 159.26 ms/op 169.97 ms/op 0.94
aggregationBits - 2048 els - zipIndexesInBitList 27.092 us/op 22.440 us/op 1.21
byteArrayEquals 32 46.662 ns/op 47.965 ns/op 0.97
Buffer.compare 32 15.070 ns/op 15.735 ns/op 0.96
byteArrayEquals 1024 1.2317 us/op 1.2722 us/op 0.97
Buffer.compare 1024 23.260 ns/op 24.194 ns/op 0.96
byteArrayEquals 16384 19.630 us/op 20.221 us/op 0.97
Buffer.compare 16384 176.29 ns/op 207.74 ns/op 0.85
byteArrayEquals 123687377 147.64 ms/op 151.54 ms/op 0.97
Buffer.compare 123687377 5.6189 ms/op 4.4665 ms/op 1.26
byteArrayEquals 32 - diff last byte 46.318 ns/op 48.141 ns/op 0.96
Buffer.compare 32 - diff last byte 15.141 ns/op 16.022 ns/op 0.95
byteArrayEquals 1024 - diff last byte 1.2258 us/op 1.2861 us/op 0.95
Buffer.compare 1024 - diff last byte 23.456 ns/op 23.896 ns/op 0.98
byteArrayEquals 16384 - diff last byte 19.536 us/op 20.330 us/op 0.96
Buffer.compare 16384 - diff last byte 170.25 ns/op 190.31 ns/op 0.89
byteArrayEquals 123687377 - diff last byte 150.50 ms/op 148.67 ms/op 1.01
Buffer.compare 123687377 - diff last byte 5.6046 ms/op 5.6249 ms/op 1.00
byteArrayEquals 32 - random bytes 4.7580 ns/op 5.0880 ns/op 0.94
Buffer.compare 32 - random bytes 15.172 ns/op 15.826 ns/op 0.96
byteArrayEquals 1024 - random bytes 4.8160 ns/op 4.9970 ns/op 0.96
Buffer.compare 1024 - random bytes 15.095 ns/op 15.635 ns/op 0.97
byteArrayEquals 16384 - random bytes 4.7850 ns/op 4.7630 ns/op 1.00
Buffer.compare 16384 - random bytes 14.978 ns/op 14.808 ns/op 1.01
byteArrayEquals 123687377 - random bytes 7.6400 ns/op 7.5100 ns/op 1.02
Buffer.compare 123687377 - random bytes 17.800 ns/op 17.680 ns/op 1.01
regular array get 100000 times 30.294 us/op 30.114 us/op 1.01
wrappedArray get 100000 times 30.556 us/op 29.603 us/op 1.03
arrayWithProxy get 100000 times 9.7405 ms/op 9.4881 ms/op 1.03
ssz.Root.equals 44.534 ns/op 41.520 ns/op 1.07
byteArrayEquals 43.258 ns/op 37.351 ns/op 1.16
Buffer.compare 9.3700 ns/op 8.6740 ns/op 1.08
processSlot - 1 slots 11.676 us/op 13.172 us/op 0.89
processSlot - 32 slots 2.3676 ms/op 2.5606 ms/op 0.92
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 37.483 ms/op 39.141 ms/op 0.96
getCommitteeAssignments - req 1 vs - 250000 vc 1.8846 ms/op 1.8771 ms/op 1.00
getCommitteeAssignments - req 100 vs - 250000 vc 3.6556 ms/op 3.6354 ms/op 1.01
getCommitteeAssignments - req 1000 vs - 250000 vc 3.9177 ms/op 3.8592 ms/op 1.02
findModifiedValidators - 10000 modified validators 223.80 ms/op 250.95 ms/op 0.89
findModifiedValidators - 1000 modified validators 171.66 ms/op 139.34 ms/op 1.23
findModifiedValidators - 100 modified validators 190.67 ms/op 141.08 ms/op 1.35
findModifiedValidators - 10 modified validators 196.23 ms/op 128.00 ms/op 1.53
findModifiedValidators - 1 modified validators 160.29 ms/op 125.11 ms/op 1.28
findModifiedValidators - no difference 175.17 ms/op 166.13 ms/op 1.05
compare ViewDUs 3.5877 s/op 3.0378 s/op 1.18
compare each validator Uint8Array 1.5222 s/op 1.3011 s/op 1.17
compare ViewDU to Uint8Array 992.78 ms/op 781.36 ms/op 1.27
migrate state 1000000 validators, 24 modified, 0 new 754.05 ms/op 581.74 ms/op 1.30
migrate state 1000000 validators, 1700 modified, 1000 new 1.0074 s/op 921.62 ms/op 1.09
migrate state 1000000 validators, 3400 modified, 2000 new 1.1419 s/op 1.1343 s/op 1.01
migrate state 1500000 validators, 24 modified, 0 new 722.97 ms/op 701.63 ms/op 1.03
migrate state 1500000 validators, 1700 modified, 1000 new 1.0573 s/op 960.06 ms/op 1.10
migrate state 1500000 validators, 3400 modified, 2000 new 1.2553 s/op 992.35 ms/op 1.27
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 6.9100 ns/op 6.2700 ns/op 1.10
state getBlockRootAtSlot - 250000 vs - 7PWei 1.0642 us/op 679.46 ns/op 1.57
computeProposers - vc 250000 7.2330 ms/op 6.4625 ms/op 1.12
computeEpochShuffling - vc 250000 35.613 ms/op 35.343 ms/op 1.01
getNextSyncCommittee - vc 250000 134.78 ms/op 109.13 ms/op 1.24
computeSigningRoot for AttestationData 26.838 us/op 24.347 us/op 1.10
hash AttestationData serialized data then Buffer.toString(base64) 1.3350 us/op 1.1822 us/op 1.13
toHexString serialized data 801.81 ns/op 780.63 ns/op 1.03
Buffer.toString(base64) 133.16 ns/op 133.26 ns/op 1.00
nodejs block root to RootHex using toHex 119.83 ns/op 114.12 ns/op 1.05
nodejs block root to RootHex using toRootHex 80.170 ns/op 74.747 ns/op 1.07
browser block root to RootHex using the deprecated toHexString 217.37 ns/op 205.57 ns/op 1.06
browser block root to RootHex using toHex 173.38 ns/op 164.24 ns/op 1.06
browser block root to RootHex using toRootHex 162.59 ns/op 146.19 ns/op 1.11

by benchmarkbot/action

@ensi321 ensi321 merged commit 1748e2e into unstable Jan 30, 2025
20 checks passed
@ensi321 ensi321 deleted the nflaig/deneb-rate-limits branch January 30, 2025 00:43
@wemeetagain
Copy link
Member

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