Skip to content

Conversation

@nflaig
Copy link
Member

@nflaig nflaig commented Feb 15, 2025

Motivation

Description

  • GET /eth/v1/beacon/states/{state_id}/pending_deposits added
  • GET /eth/v1/beacon/states/{state_id}/pending_partial_withdrawals added

@nflaig nflaig requested a review from a team as a code owner February 15, 2025 20:45
@codecov
Copy link

codecov bot commented Feb 15, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 50.46%. Comparing base (8be81d6) to head (8449953).
Report is 3 commits behind head on unstable.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #7472      +/-   ##
============================================
+ Coverage     50.44%   50.46%   +0.01%     
============================================
  Files           602      602              
  Lines         40583    40606      +23     
  Branches       2229     2223       -6     
============================================
+ Hits          20474    20490      +16     
- Misses        20069    20076       +7     
  Partials         40       40              

@github-actions
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 7a42d69 Previous: 2b1c82a Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 751.38 us/op 940.37 us/op 0.80
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 34.053 us/op 34.582 us/op 0.98
BLS verify - blst 792.14 us/op 752.12 us/op 1.05
BLS verifyMultipleSignatures 3 - blst 1.1451 ms/op 1.1599 ms/op 0.99
BLS verifyMultipleSignatures 8 - blst 1.4911 ms/op 1.6100 ms/op 0.93
BLS verifyMultipleSignatures 32 - blst 4.4328 ms/op 4.8084 ms/op 0.92
BLS verifyMultipleSignatures 64 - blst 8.1600 ms/op 8.9134 ms/op 0.92
BLS verifyMultipleSignatures 128 - blst 15.525 ms/op 17.269 ms/op 0.90
BLS deserializing 10000 signatures 609.19 ms/op 670.19 ms/op 0.91
BLS deserializing 100000 signatures 6.2160 s/op 6.7512 s/op 0.92
BLS verifyMultipleSignatures - same message - 3 - blst 958.78 us/op 828.80 us/op 1.16
BLS verifyMultipleSignatures - same message - 8 - blst 1.1627 ms/op 1.0448 ms/op 1.11
BLS verifyMultipleSignatures - same message - 32 - blst 1.6691 ms/op 1.6853 ms/op 0.99
BLS verifyMultipleSignatures - same message - 64 - blst 2.5043 ms/op 2.5790 ms/op 0.97
BLS verifyMultipleSignatures - same message - 128 - blst 4.0858 ms/op 4.3020 ms/op 0.95
BLS aggregatePubkeys 32 - blst 17.457 us/op 19.415 us/op 0.90
BLS aggregatePubkeys 128 - blst 61.397 us/op 69.214 us/op 0.89
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 52.067 ms/op 52.242 ms/op 1.00
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 48.442 ms/op 46.301 ms/op 1.05
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 34.031 ms/op 35.608 ms/op 0.96
getSlashingsAndExits - default max 52.397 us/op 75.471 us/op 0.69
getSlashingsAndExits - 2k 283.00 us/op 344.25 us/op 0.82
proposeBlockBody type=full, size=empty 4.5437 ms/op 5.7948 ms/op 0.78
isKnown best case - 1 super set check 390.00 ns/op 208.00 ns/op 1.88
isKnown normal case - 2 super set checks 385.00 ns/op 206.00 ns/op 1.87
isKnown worse case - 16 super set checks 385.00 ns/op 207.00 ns/op 1.86
InMemoryCheckpointStateCache - add get delete 2.4300 us/op 2.4120 us/op 1.01
validate api signedAggregateAndProof - struct 1.4618 ms/op 1.5488 ms/op 0.94
validate gossip signedAggregateAndProof - struct 1.8809 ms/op 1.5962 ms/op 1.18
batch validate gossip attestation - vc 640000 - chunk 32 108.13 us/op 124.58 us/op 0.87
batch validate gossip attestation - vc 640000 - chunk 64 91.570 us/op 109.58 us/op 0.84
batch validate gossip attestation - vc 640000 - chunk 128 85.343 us/op 107.97 us/op 0.79
batch validate gossip attestation - vc 640000 - chunk 256 85.638 us/op 122.01 us/op 0.70
pickEth1Vote - no votes 789.51 us/op 1.0019 ms/op 0.79
pickEth1Vote - max votes 5.2023 ms/op 10.833 ms/op 0.48
pickEth1Vote - Eth1Data hashTreeRoot value x2048 18.895 ms/op 23.314 ms/op 0.81
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 21.073 ms/op 31.026 ms/op 0.68
pickEth1Vote - Eth1Data fastSerialize value x2048 335.42 us/op 467.16 us/op 0.72
pickEth1Vote - Eth1Data fastSerialize tree x2048 4.6365 ms/op 5.1691 ms/op 0.90
bytes32 toHexString 466.00 ns/op 383.00 ns/op 1.22
bytes32 Buffer.toString(hex) 394.00 ns/op 232.00 ns/op 1.70
bytes32 Buffer.toString(hex) from Uint8Array 483.00 ns/op 342.00 ns/op 1.41
bytes32 Buffer.toString(hex) + 0x 403.00 ns/op 236.00 ns/op 1.71
Object access 1 prop 0.29600 ns/op 0.12000 ns/op 2.47
Map access 1 prop 0.28600 ns/op 0.12300 ns/op 2.33
Object get x1000 5.4030 ns/op 5.9600 ns/op 0.91
Map get x1000 5.8840 ns/op 6.4810 ns/op 0.91
Object set x1000 18.960 ns/op 31.572 ns/op 0.60
Map set x1000 16.416 ns/op 21.129 ns/op 0.78
Return object 10000 times 0.28550 ns/op 0.29680 ns/op 0.96
Throw Error 10000 times 3.3612 us/op 4.5328 us/op 0.74
toHex 99.909 ns/op 144.03 ns/op 0.69
Buffer.from 94.963 ns/op 123.32 ns/op 0.77
shared Buffer 64.549 ns/op 84.978 ns/op 0.76
fastMsgIdFn sha256 / 200 bytes 1.9310 us/op 2.2140 us/op 0.87
fastMsgIdFn h32 xxhash / 200 bytes 367.00 ns/op 207.00 ns/op 1.77
fastMsgIdFn h64 xxhash / 200 bytes 429.00 ns/op 262.00 ns/op 1.64
fastMsgIdFn sha256 / 1000 bytes 5.7650 us/op 7.6060 us/op 0.76
fastMsgIdFn h32 xxhash / 1000 bytes 484.00 ns/op 333.00 ns/op 1.45
fastMsgIdFn h64 xxhash / 1000 bytes 493.00 ns/op 332.00 ns/op 1.48
fastMsgIdFn sha256 / 10000 bytes 50.243 us/op 64.676 us/op 0.78
fastMsgIdFn h32 xxhash / 10000 bytes 1.8000 us/op 1.8230 us/op 0.99
fastMsgIdFn h64 xxhash / 10000 bytes 1.2750 us/op 1.2370 us/op 1.03
send data - 1000 256B messages 9.1750 ms/op 12.289 ms/op 0.75
send data - 1000 512B messages 13.289 ms/op 17.865 ms/op 0.74
send data - 1000 1024B messages 19.122 ms/op 28.603 ms/op 0.67
send data - 1000 1200B messages 14.713 ms/op 22.526 ms/op 0.65
send data - 1000 2048B messages 15.245 ms/op 22.608 ms/op 0.67
send data - 1000 4096B messages 14.920 ms/op 26.872 ms/op 0.56
send data - 1000 16384B messages 35.550 ms/op 67.060 ms/op 0.53
send data - 1000 65536B messages 232.99 ms/op 209.99 ms/op 1.11
enrSubnets - fastDeserialize 64 bits 1.9450 us/op 893.00 ns/op 2.18
enrSubnets - ssz BitVector 64 bits 480.00 ns/op 354.00 ns/op 1.36
enrSubnets - fastDeserialize 4 bits 310.00 ns/op 130.00 ns/op 2.38
enrSubnets - ssz BitVector 4 bits 476.00 ns/op 349.00 ns/op 1.36
prioritizePeers score -10:0 att 32-0.1 sync 2-0 99.992 us/op 118.07 us/op 0.85
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 116.79 us/op 141.45 us/op 0.83
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 170.31 us/op 200.00 us/op 0.85
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 308.07 us/op 377.49 us/op 0.82
prioritizePeers score 0:0 att 64-1 sync 4-1 374.82 us/op 462.97 us/op 0.81
array of 16000 items push then shift 1.2555 us/op 1.6070 us/op 0.78
LinkedList of 16000 items push then shift 6.1170 ns/op 7.1620 ns/op 0.85
array of 16000 items push then pop 59.288 ns/op 75.169 ns/op 0.79
LinkedList of 16000 items push then pop 5.9380 ns/op 7.2910 ns/op 0.81
array of 24000 items push then shift 1.8525 us/op 2.4528 us/op 0.76
LinkedList of 24000 items push then shift 6.1380 ns/op 7.0690 ns/op 0.87
array of 24000 items push then pop 82.973 ns/op 104.54 ns/op 0.79
LinkedList of 24000 items push then pop 5.9680 ns/op 7.2540 ns/op 0.82
intersect bitArray bitLen 8 5.2930 ns/op 6.4220 ns/op 0.82
intersect array and set length 8 33.912 ns/op 38.074 ns/op 0.89
intersect bitArray bitLen 128 25.832 ns/op 30.007 ns/op 0.86
intersect array and set length 128 544.92 ns/op 633.01 ns/op 0.86
bitArray.getTrueBitIndexes() bitLen 128 1.1290 us/op 1.0470 us/op 1.08
bitArray.getTrueBitIndexes() bitLen 248 1.7620 us/op 1.8170 us/op 0.97
bitArray.getTrueBitIndexes() bitLen 512 3.1500 us/op 3.8720 us/op 0.81
Buffer.concat 32 items 780.00 ns/op 603.00 ns/op 1.29
Uint8Array.set 32 items 1.1010 us/op 1.8060 us/op 0.61
Buffer.copy 2.3760 us/op 2.1530 us/op 1.10
Uint8Array.set - with subarray 2.0510 us/op 2.0020 us/op 1.02
Uint8Array.set - without subarray 1.2500 us/op 1.2510 us/op 1.00
getUint32 - dataview 358.00 ns/op 194.00 ns/op 1.85
getUint32 - manual 298.00 ns/op 124.00 ns/op 2.40
Set add up to 64 items then delete first 1.7832 us/op 2.2013 us/op 0.81
OrderedSet add up to 64 items then delete first 2.7235 us/op 3.2603 us/op 0.84
Set add up to 64 items then delete last 2.0236 us/op 2.5191 us/op 0.80
OrderedSet add up to 64 items then delete last 3.1033 us/op 3.7454 us/op 0.83
Set add up to 64 items then delete middle 2.0674 us/op 2.5210 us/op 0.82
OrderedSet add up to 64 items then delete middle 4.3841 us/op 5.2409 us/op 0.84
Set add up to 128 items then delete first 3.9521 us/op 5.1619 us/op 0.77
OrderedSet add up to 128 items then delete first 6.1610 us/op 7.8233 us/op 0.79
Set add up to 128 items then delete last 3.8222 us/op 6.4607 us/op 0.59
OrderedSet add up to 128 items then delete last 5.8814 us/op 7.5106 us/op 0.78
Set add up to 128 items then delete middle 3.8392 us/op 4.9337 us/op 0.78
OrderedSet add up to 128 items then delete middle 11.577 us/op 14.330 us/op 0.81
Set add up to 256 items then delete first 7.7252 us/op 12.017 us/op 0.64
OrderedSet add up to 256 items then delete first 12.149 us/op 16.378 us/op 0.74
Set add up to 256 items then delete last 7.4964 us/op 12.929 us/op 0.58
OrderedSet add up to 256 items then delete last 11.445 us/op 18.149 us/op 0.63
Set add up to 256 items then delete middle 7.4768 us/op 10.683 us/op 0.70
OrderedSet add up to 256 items then delete middle 33.666 us/op 44.977 us/op 0.75
transfer serialized Status (84 B) 1.9370 us/op 2.3440 us/op 0.83
copy serialized Status (84 B) 1.1780 us/op 1.2870 us/op 0.92
transfer serialized SignedVoluntaryExit (112 B) 1.9460 us/op 2.3130 us/op 0.84
copy serialized SignedVoluntaryExit (112 B) 1.2100 us/op 1.2580 us/op 0.96
transfer serialized ProposerSlashing (416 B) 2.0890 us/op 2.3110 us/op 0.90
copy serialized ProposerSlashing (416 B) 1.4560 us/op 1.3130 us/op 1.11
transfer serialized Attestation (485 B) 2.1300 us/op 2.2880 us/op 0.93
copy serialized Attestation (485 B) 1.4360 us/op 1.3990 us/op 1.03
transfer serialized AttesterSlashing (33232 B) 2.7860 us/op 2.8190 us/op 0.99
copy serialized AttesterSlashing (33232 B) 4.1760 us/op 4.8870 us/op 0.85
transfer serialized Small SignedBeaconBlock (128000 B) 2.8570 us/op 3.2760 us/op 0.87
copy serialized Small SignedBeaconBlock (128000 B) 8.8240 us/op 10.358 us/op 0.85
transfer serialized Avg SignedBeaconBlock (200000 B) 2.9630 us/op 3.5990 us/op 0.82
copy serialized Avg SignedBeaconBlock (200000 B) 12.477 us/op 13.615 us/op 0.92
transfer serialized BlobsSidecar (524380 B) 3.1210 us/op 3.7190 us/op 0.84
copy serialized BlobsSidecar (524380 B) 67.737 us/op 195.09 us/op 0.35
transfer serialized Big SignedBeaconBlock (1000000 B) 3.4380 us/op 4.3010 us/op 0.80
copy serialized Big SignedBeaconBlock (1000000 B) 104.98 us/op 119.95 us/op 0.88
pass gossip attestations to forkchoice per slot 2.3142 ms/op 2.8597 ms/op 0.81
forkChoice updateHead vc 100000 bc 64 eq 0 380.30 us/op 474.42 us/op 0.80
forkChoice updateHead vc 600000 bc 64 eq 0 2.2555 ms/op 3.0126 ms/op 0.75
forkChoice updateHead vc 1000000 bc 64 eq 0 3.7917 ms/op 5.0764 ms/op 0.75
forkChoice updateHead vc 600000 bc 320 eq 0 2.2730 ms/op 3.1027 ms/op 0.73
forkChoice updateHead vc 600000 bc 1200 eq 0 2.3105 ms/op 2.9943 ms/op 0.77
forkChoice updateHead vc 600000 bc 7200 eq 0 2.5114 ms/op 3.3070 ms/op 0.76
forkChoice updateHead vc 600000 bc 64 eq 1000 9.2435 ms/op 10.746 ms/op 0.86
forkChoice updateHead vc 600000 bc 64 eq 10000 9.1266 ms/op 10.678 ms/op 0.85
forkChoice updateHead vc 600000 bc 64 eq 300000 10.489 ms/op 13.435 ms/op 0.78
computeDeltas 500000 validators 300 proto nodes 3.2929 ms/op 4.0035 ms/op 0.82
computeDeltas 500000 validators 1200 proto nodes 3.2463 ms/op 4.0141 ms/op 0.81
computeDeltas 500000 validators 7200 proto nodes 3.1530 ms/op 3.9894 ms/op 0.79
computeDeltas 750000 validators 300 proto nodes 4.6862 ms/op 6.0456 ms/op 0.78
computeDeltas 750000 validators 1200 proto nodes 4.6213 ms/op 6.3348 ms/op 0.73
computeDeltas 750000 validators 7200 proto nodes 4.5713 ms/op 6.3003 ms/op 0.73
computeDeltas 1400000 validators 300 proto nodes 8.5175 ms/op 12.193 ms/op 0.70
computeDeltas 1400000 validators 1200 proto nodes 8.4388 ms/op 10.670 ms/op 0.79
computeDeltas 1400000 validators 7200 proto nodes 8.7818 ms/op 10.847 ms/op 0.81
computeDeltas 2100000 validators 300 proto nodes 12.845 ms/op 16.348 ms/op 0.79
computeDeltas 2100000 validators 1200 proto nodes 12.771 ms/op 16.562 ms/op 0.77
computeDeltas 2100000 validators 7200 proto nodes 12.862 ms/op 16.475 ms/op 0.78
altair processAttestation - 250000 vs - 7PWei normalcase 1.6273 ms/op 2.0433 ms/op 0.80
altair processAttestation - 250000 vs - 7PWei worstcase 2.4384 ms/op 3.1106 ms/op 0.78
altair processAttestation - setStatus - 1/6 committees join 87.455 us/op 131.54 us/op 0.66
altair processAttestation - setStatus - 1/3 committees join 169.37 us/op 238.84 us/op 0.71
altair processAttestation - setStatus - 1/2 committees join 249.76 us/op 374.32 us/op 0.67
altair processAttestation - setStatus - 2/3 committees join 344.27 us/op 479.04 us/op 0.72
altair processAttestation - setStatus - 4/5 committees join 457.99 us/op 661.66 us/op 0.69
altair processAttestation - setStatus - 100% committees join 573.13 us/op 789.36 us/op 0.73
altair processBlock - 250000 vs - 7PWei normalcase 3.8370 ms/op 4.6583 ms/op 0.82
altair processBlock - 250000 vs - 7PWei normalcase hashState 37.183 ms/op 32.700 ms/op 1.14
altair processBlock - 250000 vs - 7PWei worstcase 45.377 ms/op 44.642 ms/op 1.02
altair processBlock - 250000 vs - 7PWei worstcase hashState 90.782 ms/op 89.366 ms/op 1.02
phase0 processBlock - 250000 vs - 7PWei normalcase 2.0025 ms/op 1.8948 ms/op 1.06
phase0 processBlock - 250000 vs - 7PWei worstcase 22.117 ms/op 28.804 ms/op 0.77
altair processEth1Data - 250000 vs - 7PWei normalcase 260.24 us/op 384.88 us/op 0.68
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 5.2280 us/op 7.3110 us/op 0.72
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 26.925 us/op 37.696 us/op 0.71
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 7.2180 us/op 9.6950 us/op 0.74
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 4.8730 us/op 7.0610 us/op 0.69
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 114.04 us/op 155.46 us/op 0.73
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 832.88 us/op 963.96 us/op 0.86
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.0319 ms/op 1.4077 ms/op 0.73
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.0200 ms/op 1.4257 ms/op 0.72
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.5366 ms/op 3.9826 ms/op 0.64
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.0535 ms/op 1.4536 ms/op 0.72
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 2.5690 ms/op 4.3158 ms/op 0.60
Tree 40 250000 create 364.85 ms/op 494.61 ms/op 0.74
Tree 40 250000 get(125000) 108.67 ns/op 145.38 ns/op 0.75
Tree 40 250000 set(125000) 1.2191 us/op 1.4300 us/op 0.85
Tree 40 250000 toArray() 9.4522 ms/op 15.838 ms/op 0.60
Tree 40 250000 iterate all - toArray() + loop 9.6367 ms/op 19.916 ms/op 0.48
Tree 40 250000 iterate all - get(i) 38.707 ms/op 53.191 ms/op 0.73
Array 250000 create 2.2012 ms/op 2.3773 ms/op 0.93
Array 250000 clone - spread 609.98 us/op 804.86 us/op 0.76
Array 250000 get(125000) 0.54700 ns/op 0.40500 ns/op 1.35
Array 250000 set(125000) 0.56300 ns/op 0.42800 ns/op 1.32
Array 250000 iterate all - loop 74.799 us/op 82.034 us/op 0.91
phase0 afterProcessEpoch - 250000 vs - 7PWei 40.792 ms/op 49.235 ms/op 0.83
Array.fill - length 1000000 2.3197 ms/op 3.6148 ms/op 0.64
Array push - length 1000000 9.1218 ms/op 13.656 ms/op 0.67
Array.get 0.23362 ns/op 0.28205 ns/op 0.83
Uint8Array.get 0.30982 ns/op 0.45259 ns/op 0.68
phase0 beforeProcessEpoch - 250000 vs - 7PWei 14.556 ms/op 20.596 ms/op 0.71
altair processEpoch - mainnet_e81889 272.85 ms/op 270.71 ms/op 1.01
mainnet_e81889 - altair beforeProcessEpoch 14.772 ms/op 17.958 ms/op 0.82
mainnet_e81889 - altair processJustificationAndFinalization 7.3090 us/op 5.5510 us/op 1.32
mainnet_e81889 - altair processInactivityUpdates 3.1634 ms/op 4.0758 ms/op 0.78
mainnet_e81889 - altair processRewardsAndPenalties 44.458 ms/op 41.894 ms/op 1.06
mainnet_e81889 - altair processRegistryUpdates 976.00 ns/op 663.00 ns/op 1.47
mainnet_e81889 - altair processSlashings 481.00 ns/op 180.00 ns/op 2.67
mainnet_e81889 - altair processEth1DataReset 393.00 ns/op 183.00 ns/op 2.15
mainnet_e81889 - altair processEffectiveBalanceUpdates 994.66 us/op 1.2677 ms/op 0.78
mainnet_e81889 - altair processSlashingsReset 1.0700 us/op 894.00 ns/op 1.20
mainnet_e81889 - altair processRandaoMixesReset 1.1660 us/op 1.1520 us/op 1.01
mainnet_e81889 - altair processHistoricalRootsUpdate 390.00 ns/op 178.00 ns/op 2.19
mainnet_e81889 - altair processParticipationFlagUpdates 693.00 ns/op 519.00 ns/op 1.34
mainnet_e81889 - altair processSyncCommitteeUpdates 354.00 ns/op 140.00 ns/op 2.53
mainnet_e81889 - altair afterProcessEpoch 39.796 ms/op 51.450 ms/op 0.77
capella processEpoch - mainnet_e217614 917.89 ms/op 970.60 ms/op 0.95
mainnet_e217614 - capella beforeProcessEpoch 57.454 ms/op 61.523 ms/op 0.93
mainnet_e217614 - capella processJustificationAndFinalization 4.1290 us/op 5.3810 us/op 0.77
mainnet_e217614 - capella processInactivityUpdates 10.749 ms/op 15.711 ms/op 0.68
mainnet_e217614 - capella processRewardsAndPenalties 211.31 ms/op 182.68 ms/op 1.16
mainnet_e217614 - capella processRegistryUpdates 7.2810 us/op 6.5060 us/op 1.12
mainnet_e217614 - capella processSlashings 395.00 ns/op 181.00 ns/op 2.18
mainnet_e217614 - capella processEth1DataReset 390.00 ns/op 173.00 ns/op 2.25
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.0836 ms/op 13.138 ms/op 0.31
mainnet_e217614 - capella processSlashingsReset 1000.0 ns/op 887.00 ns/op 1.13
mainnet_e217614 - capella processRandaoMixesReset 1.2040 us/op 1.1670 us/op 1.03
mainnet_e217614 - capella processHistoricalRootsUpdate 394.00 ns/op 177.00 ns/op 2.23
mainnet_e217614 - capella processParticipationFlagUpdates 697.00 ns/op 509.00 ns/op 1.37
mainnet_e217614 - capella afterProcessEpoch 102.87 ms/op 124.78 ms/op 0.82
phase0 processEpoch - mainnet_e58758 284.31 ms/op 315.48 ms/op 0.90
mainnet_e58758 - phase0 beforeProcessEpoch 63.069 ms/op 76.704 ms/op 0.82
mainnet_e58758 - phase0 processJustificationAndFinalization 5.5410 us/op 5.8610 us/op 0.95
mainnet_e58758 - phase0 processRewardsAndPenalties 38.802 ms/op 35.802 ms/op 1.08
mainnet_e58758 - phase0 processRegistryUpdates 2.9000 us/op 3.1450 us/op 0.92
mainnet_e58758 - phase0 processSlashings 388.00 ns/op 180.00 ns/op 2.16
mainnet_e58758 - phase0 processEth1DataReset 389.00 ns/op 173.00 ns/op 2.25
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 817.37 us/op 1.0389 ms/op 0.79
mainnet_e58758 - phase0 processSlashingsReset 889.00 ns/op 984.00 ns/op 0.90
mainnet_e58758 - phase0 processRandaoMixesReset 1.1870 us/op 1.2150 us/op 0.98
mainnet_e58758 - phase0 processHistoricalRootsUpdate 397.00 ns/op 182.00 ns/op 2.18
mainnet_e58758 - phase0 processParticipationRecordUpdates 1.1180 us/op 946.00 ns/op 1.18
mainnet_e58758 - phase0 afterProcessEpoch 35.319 ms/op 44.210 ms/op 0.80
phase0 processEffectiveBalanceUpdates - 250000 normalcase 885.28 us/op 1.3516 ms/op 0.65
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.1321 ms/op 1.8982 ms/op 0.60
altair processInactivityUpdates - 250000 normalcase 15.043 ms/op 17.359 ms/op 0.87
altair processInactivityUpdates - 250000 worstcase 18.830 ms/op 19.483 ms/op 0.97
phase0 processRegistryUpdates - 250000 normalcase 5.5220 us/op 6.9590 us/op 0.79
phase0 processRegistryUpdates - 250000 badcase_full_deposits 285.46 us/op 267.29 us/op 1.07
phase0 processRegistryUpdates - 250000 worstcase 0.5 100.10 ms/op 106.15 ms/op 0.94
altair processRewardsAndPenalties - 250000 normalcase 48.866 ms/op 45.540 ms/op 1.07
altair processRewardsAndPenalties - 250000 worstcase 36.348 ms/op 37.830 ms/op 0.96
phase0 getAttestationDeltas - 250000 normalcase 5.3204 ms/op 7.3497 ms/op 0.72
phase0 getAttestationDeltas - 250000 worstcase 4.9784 ms/op 7.1520 ms/op 0.70
phase0 processSlashings - 250000 worstcase 49.785 us/op 109.30 us/op 0.46
altair processSyncCommitteeUpdates - 250000 92.965 ms/op 133.52 ms/op 0.70
BeaconState.hashTreeRoot - No change 409.00 ns/op 216.00 ns/op 1.89
BeaconState.hashTreeRoot - 1 full validator 74.704 us/op 75.480 us/op 0.99
BeaconState.hashTreeRoot - 32 full validator 961.89 us/op 908.86 us/op 1.06
BeaconState.hashTreeRoot - 512 full validator 9.9141 ms/op 10.018 ms/op 0.99
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 103.98 us/op 104.84 us/op 0.99
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.7647 ms/op 1.4618 ms/op 1.21
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 23.702 ms/op 19.941 ms/op 1.19
BeaconState.hashTreeRoot - 1 balances 72.327 us/op 70.912 us/op 1.02
BeaconState.hashTreeRoot - 32 balances 699.95 us/op 653.55 us/op 1.07
BeaconState.hashTreeRoot - 512 balances 5.4437 ms/op 7.5153 ms/op 0.72
BeaconState.hashTreeRoot - 250000 balances 164.47 ms/op 198.98 ms/op 0.83
aggregationBits - 2048 els - zipIndexesInBitList 16.907 us/op 22.247 us/op 0.76
byteArrayEquals 32 44.621 ns/op 53.425 ns/op 0.84
Buffer.compare 32 14.551 ns/op 17.323 ns/op 0.84
byteArrayEquals 1024 1.1619 us/op 1.6281 us/op 0.71
Buffer.compare 1024 21.782 ns/op 25.842 ns/op 0.84
byteArrayEquals 16384 18.505 us/op 25.314 us/op 0.73
Buffer.compare 16384 182.86 ns/op 181.26 ns/op 1.01
byteArrayEquals 123687377 141.09 ms/op 187.29 ms/op 0.75
Buffer.compare 123687377 5.3045 ms/op 6.0493 ms/op 0.88
byteArrayEquals 32 - diff last byte 45.207 ns/op 51.396 ns/op 0.88
Buffer.compare 32 - diff last byte 14.845 ns/op 16.686 ns/op 0.89
byteArrayEquals 1024 - diff last byte 1.1956 us/op 1.5496 us/op 0.77
Buffer.compare 1024 - diff last byte 22.717 ns/op 25.273 ns/op 0.90
byteArrayEquals 16384 - diff last byte 19.062 us/op 24.716 us/op 0.77
Buffer.compare 16384 - diff last byte 187.40 ns/op 199.66 ns/op 0.94
byteArrayEquals 123687377 - diff last byte 144.70 ms/op 190.74 ms/op 0.76
Buffer.compare 123687377 - diff last byte 5.3211 ms/op 7.2713 ms/op 0.73
byteArrayEquals 32 - random bytes 4.6500 ns/op 5.0980 ns/op 0.91
Buffer.compare 32 - random bytes 14.879 ns/op 17.351 ns/op 0.86
byteArrayEquals 1024 - random bytes 4.6300 ns/op 5.1590 ns/op 0.90
Buffer.compare 1024 - random bytes 14.775 ns/op 17.291 ns/op 0.85
byteArrayEquals 16384 - random bytes 4.6290 ns/op 5.1170 ns/op 0.90
Buffer.compare 16384 - random bytes 14.869 ns/op 17.078 ns/op 0.87
byteArrayEquals 123687377 - random bytes 7.3900 ns/op 6.3800 ns/op 1.16
Buffer.compare 123687377 - random bytes 17.440 ns/op 18.340 ns/op 0.95
regular array get 100000 times 29.326 us/op 33.079 us/op 0.89
wrappedArray get 100000 times 29.325 us/op 43.984 us/op 0.67
arrayWithProxy get 100000 times 8.5043 ms/op 12.899 ms/op 0.66
ssz.Root.equals 38.854 ns/op 46.458 ns/op 0.84
byteArrayEquals 38.943 ns/op 45.335 ns/op 0.86
Buffer.compare 8.5170 ns/op 10.384 ns/op 0.82
processSlot - 1 slots 8.7170 us/op 10.174 us/op 0.86
processSlot - 32 slots 2.4182 ms/op 3.7907 ms/op 0.64
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 60.155 ms/op 61.895 ms/op 0.97
getCommitteeAssignments - req 1 vs - 250000 vc 1.7901 ms/op 2.2515 ms/op 0.80
getCommitteeAssignments - req 100 vs - 250000 vc 3.5037 ms/op 4.3404 ms/op 0.81
getCommitteeAssignments - req 1000 vs - 250000 vc 3.7157 ms/op 4.5837 ms/op 0.81
findModifiedValidators - 10000 modified validators 767.78 ms/op 925.18 ms/op 0.83
findModifiedValidators - 1000 modified validators 648.91 ms/op 875.39 ms/op 0.74
findModifiedValidators - 100 modified validators 151.78 ms/op 214.13 ms/op 0.71
findModifiedValidators - 10 modified validators 120.08 ms/op 176.28 ms/op 0.68
findModifiedValidators - 1 modified validators 125.44 ms/op 186.85 ms/op 0.67
findModifiedValidators - no difference 128.73 ms/op 195.80 ms/op 0.66
compare ViewDUs 6.0681 s/op 7.8540 s/op 0.77
compare each validator Uint8Array 1.7488 s/op 1.3089 s/op 1.34
compare ViewDU to Uint8Array 789.52 ms/op 917.52 ms/op 0.86
migrate state 1000000 validators, 24 modified, 0 new 843.90 ms/op 798.11 ms/op 1.06
migrate state 1000000 validators, 1700 modified, 1000 new 1.1016 s/op 1.1198 s/op 0.98
migrate state 1000000 validators, 3400 modified, 2000 new 1.1155 s/op 1.1658 s/op 0.96
migrate state 1500000 validators, 24 modified, 0 new 762.28 ms/op 770.59 ms/op 0.99
migrate state 1500000 validators, 1700 modified, 1000 new 957.48 ms/op 1.0198 s/op 0.94
migrate state 1500000 validators, 3400 modified, 2000 new 1.2166 s/op 1.1665 s/op 1.04
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.7400 ns/op 4.2300 ns/op 1.36
state getBlockRootAtSlot - 250000 vs - 7PWei 282.90 ns/op 450.32 ns/op 0.63
naive computeProposerIndex 100000 validators 39.745 ms/op 49.726 ms/op 0.80
computeProposerIndex 100000 validators 6.2698 ms/op 9.4974 ms/op 0.66
naiveGetNextSyncCommitteeIndices 1000 validators 6.1650 s/op 7.7283 s/op 0.80
getNextSyncCommitteeIndices 1000 validators 199.79 ms/op 261.52 ms/op 0.76
naiveGetNextSyncCommitteeIndices 10000 validators 6.2660 s/op 7.4459 s/op 0.84
getNextSyncCommitteeIndices 10000 validators 192.03 ms/op 249.82 ms/op 0.77
naiveGetNextSyncCommitteeIndices 100000 validators 5.6187 s/op 7.5663 s/op 0.74
getNextSyncCommitteeIndices 100000 validators 194.13 ms/op 241.11 ms/op 0.81
naive computeShuffledIndex 100000 validators 18.698 s/op 22.767 s/op 0.82
cached computeShuffledIndex 100000 validators 458.15 ms/op 548.32 ms/op 0.84
naive computeShuffledIndex 2000000 validators 377.33 s/op 534.28 s/op 0.71
cached computeShuffledIndex 2000000 validators 24.392 s/op 55.664 s/op 0.44
computeProposers - vc 250000 8.4995 ms/op 11.556 ms/op 0.74
computeEpochShuffling - vc 250000 34.973 ms/op 43.328 ms/op 0.81
getNextSyncCommittee - vc 250000 127.52 ms/op 159.09 ms/op 0.80
computeSigningRoot for AttestationData 27.225 us/op 23.705 us/op 1.15
hash AttestationData serialized data then Buffer.toString(base64) 1.1794 us/op 1.6066 us/op 0.73
toHexString serialized data 1.0035 us/op 1.2458 us/op 0.81
Buffer.toString(base64) 113.39 ns/op 166.05 ns/op 0.68
nodejs block root to RootHex using toHex 114.28 ns/op 140.73 ns/op 0.81
nodejs block root to RootHex using toRootHex 73.470 ns/op 88.596 ns/op 0.83
browser block root to RootHex using the deprecated toHexString 195.03 ns/op 212.86 ns/op 0.92
browser block root to RootHex using toHex 155.70 ns/op 173.82 ns/op 0.90
browser block root to RootHex using toRootHex 144.24 ns/op 164.81 ns/op 0.88

by benchmarkbot/action

@ensi321 ensi321 merged commit eaa83aa into unstable Feb 18, 2025
20 checks passed
@ensi321 ensi321 deleted the nflaig/pending-deposits-and-withdrawals branch February 18, 2025 01:17
ensi321 pushed a commit that referenced this pull request Feb 18, 2025
**Motivation**

Forgot to update this as part of
#6749, but adding new
endpoints is much simpler / cleaner now and everything is inferred from
`Endpoint` type definition when adding a new route, it's not possible to
forget updating something as typescript will complain (and also spec
tests). So instead of updating this I figured it's best to just remove
it, looking at the code is much easier to figure out what do to than
having to read some text I would put there, eg. see example
#7472.

**Description**

Remove outdated reasoning of the API definitions comment
@wemeetagain
Copy link
Member

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