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

chore: consistently pass fork info to requestSszTypeByMethod #7411

Merged
merged 1 commit into from
Jan 30, 2025

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Jan 30, 2025

We need to consistently pass fork info to requestSszTypeByMethod as otherwise it might use the incorrect type, eg. in case of Electra we would use wrong list limit for BlobSidecarsByRoot method in some places.

This addresses last outstanding item from #7309.

@nflaig nflaig requested a review from a team as a code owner January 30, 2025 12:20
@nflaig nflaig added this to the v1.26.0 milestone Jan 30, 2025
Copy link

codecov bot commented Jan 30, 2025

Codecov Report

Attention: Patch coverage is 15.38462% with 11 lines in your changes missing coverage. Please review.

Project coverage is 48.44%. Comparing base (1748e2e) to head (cef361d).
Report is 2 commits behind head on unstable.

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

Copy link
Contributor

github-actions bot commented Jan 30, 2025

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: eff0551 Previous: 1748e2e Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.6084 ms/op 1.5653 ms/op 1.03
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 53.284 us/op 31.954 us/op 1.67
BLS verify - blst 929.72 us/op 874.19 us/op 1.06
BLS verifyMultipleSignatures 3 - blst 1.3513 ms/op 1.3144 ms/op 1.03
BLS verifyMultipleSignatures 8 - blst 2.1794 ms/op 2.1034 ms/op 1.04
BLS verifyMultipleSignatures 32 - blst 4.8544 ms/op 4.4426 ms/op 1.09
BLS verifyMultipleSignatures 64 - blst 8.6763 ms/op 8.3587 ms/op 1.04
BLS verifyMultipleSignatures 128 - blst 16.630 ms/op 16.105 ms/op 1.03
BLS deserializing 10000 signatures 637.65 ms/op 628.11 ms/op 1.02
BLS deserializing 100000 signatures 6.2313 s/op 6.2019 s/op 1.00
BLS verifyMultipleSignatures - same message - 3 - blst 994.33 us/op 945.55 us/op 1.05
BLS verifyMultipleSignatures - same message - 8 - blst 1.1041 ms/op 1.1198 ms/op 0.99
BLS verifyMultipleSignatures - same message - 32 - blst 1.6958 ms/op 1.7039 ms/op 1.00
BLS verifyMultipleSignatures - same message - 64 - blst 2.4727 ms/op 2.5471 ms/op 0.97
BLS verifyMultipleSignatures - same message - 128 - blst 4.1131 ms/op 4.1285 ms/op 1.00
BLS aggregatePubkeys 32 - blst 17.897 us/op 17.859 us/op 1.00
BLS aggregatePubkeys 128 - blst 63.288 us/op 62.801 us/op 1.01
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 50.878 ms/op 37.035 ms/op 1.37
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 46.237 ms/op 37.842 ms/op 1.22
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 39.123 ms/op 42.843 ms/op 0.91
getSlashingsAndExits - default max 60.035 us/op 61.673 us/op 0.97
getSlashingsAndExits - 2k 428.49 us/op 278.99 us/op 1.54
proposeBlockBody type=full, size=empty 4.6453 ms/op 4.9624 ms/op 0.94
isKnown best case - 1 super set check 520.00 ns/op 468.00 ns/op 1.11
isKnown normal case - 2 super set checks 471.00 ns/op 443.00 ns/op 1.06
isKnown worse case - 16 super set checks 455.00 ns/op 434.00 ns/op 1.05
InMemoryCheckpointStateCache - add get delete 2.8380 us/op 2.7750 us/op 1.02
validate api signedAggregateAndProof - struct 1.4986 ms/op 1.4030 ms/op 1.07
validate gossip signedAggregateAndProof - struct 1.9536 ms/op 1.4704 ms/op 1.33
batch validate gossip attestation - vc 640000 - chunk 32 119.37 us/op 125.13 us/op 0.95
batch validate gossip attestation - vc 640000 - chunk 64 108.57 us/op 106.23 us/op 1.02
batch validate gossip attestation - vc 640000 - chunk 128 97.188 us/op 99.264 us/op 0.98
batch validate gossip attestation - vc 640000 - chunk 256 96.894 us/op 97.643 us/op 0.99
pickEth1Vote - no votes 877.20 us/op 832.14 us/op 1.05
pickEth1Vote - max votes 4.6102 ms/op 5.2119 ms/op 0.88
pickEth1Vote - Eth1Data hashTreeRoot value x2048 12.923 ms/op 11.377 ms/op 1.14
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 15.488 ms/op 18.812 ms/op 0.82
pickEth1Vote - Eth1Data fastSerialize value x2048 381.16 us/op 366.19 us/op 1.04
pickEth1Vote - Eth1Data fastSerialize tree x2048 2.0679 ms/op 2.7871 ms/op 0.74
bytes32 toHexString 616.00 ns/op 691.00 ns/op 0.89
bytes32 Buffer.toString(hex) 438.00 ns/op 434.00 ns/op 1.01
bytes32 Buffer.toString(hex) from Uint8Array 570.00 ns/op 564.00 ns/op 1.01
bytes32 Buffer.toString(hex) + 0x 475.00 ns/op 426.00 ns/op 1.12
Object access 1 prop 0.34400 ns/op 0.32100 ns/op 1.07
Map access 1 prop 0.33300 ns/op 0.33500 ns/op 0.99
Object get x1000 5.7730 ns/op 5.2070 ns/op 1.11
Map get x1000 6.1040 ns/op 5.9370 ns/op 1.03
Object set x1000 25.794 ns/op 22.977 ns/op 1.12
Map set x1000 24.453 ns/op 18.868 ns/op 1.30
Return object 10000 times 0.30490 ns/op 0.30160 ns/op 1.01
Throw Error 10000 times 2.8821 us/op 2.6614 us/op 1.08
toHex 130.32 ns/op 110.21 ns/op 1.18
Buffer.from 102.36 ns/op 103.00 ns/op 0.99
shared Buffer 70.335 ns/op 70.305 ns/op 1.00
fastMsgIdFn sha256 / 200 bytes 2.0220 us/op 2.0490 us/op 0.99
fastMsgIdFn h32 xxhash / 200 bytes 480.00 ns/op 411.00 ns/op 1.17
fastMsgIdFn h64 xxhash / 200 bytes 491.00 ns/op 439.00 ns/op 1.12
fastMsgIdFn sha256 / 1000 bytes 6.1960 us/op 5.9500 us/op 1.04
fastMsgIdFn h32 xxhash / 1000 bytes 569.00 ns/op 535.00 ns/op 1.06
fastMsgIdFn h64 xxhash / 1000 bytes 533.00 ns/op 518.00 ns/op 1.03
fastMsgIdFn sha256 / 10000 bytes 53.648 us/op 49.603 us/op 1.08
fastMsgIdFn h32 xxhash / 10000 bytes 2.0320 us/op 1.9370 us/op 1.05
fastMsgIdFn h64 xxhash / 10000 bytes 1.3970 us/op 1.3510 us/op 1.03
send data - 1000 256B messages 19.737 ms/op 11.504 ms/op 1.72
send data - 1000 512B messages 21.173 ms/op 17.497 ms/op 1.21
send data - 1000 1024B messages 37.690 ms/op 20.886 ms/op 1.80
send data - 1000 1200B messages 34.511 ms/op 24.969 ms/op 1.38
send data - 1000 2048B messages 33.968 ms/op 29.938 ms/op 1.13
send data - 1000 4096B messages 32.818 ms/op 25.568 ms/op 1.28
send data - 1000 16384B messages 78.032 ms/op 66.691 ms/op 1.17
send data - 1000 65536B messages 276.45 ms/op 230.88 ms/op 1.20
enrSubnets - fastDeserialize 64 bits 1.2210 us/op 1.1130 us/op 1.10
enrSubnets - ssz BitVector 64 bits 560.00 ns/op 499.00 ns/op 1.12
enrSubnets - fastDeserialize 4 bits 400.00 ns/op 344.00 ns/op 1.16
enrSubnets - ssz BitVector 4 bits 657.00 ns/op 518.00 ns/op 1.27
prioritizePeers score -10:0 att 32-0.1 sync 2-0 130.34 us/op 109.87 us/op 1.19
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 147.35 us/op 130.90 us/op 1.13
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 293.11 us/op 196.67 us/op 1.49
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 390.24 us/op 346.81 us/op 1.13
prioritizePeers score 0:0 att 64-1 sync 4-1 507.69 us/op 395.90 us/op 1.28
array of 16000 items push then shift 1.3909 us/op 1.2170 us/op 1.14
LinkedList of 16000 items push then shift 7.3820 ns/op 7.1550 ns/op 1.03
array of 16000 items push then pop 125.01 ns/op 104.32 ns/op 1.20
LinkedList of 16000 items push then pop 10.677 ns/op 6.3070 ns/op 1.69
array of 24000 items push then shift 2.0062 us/op 1.9218 us/op 1.04
LinkedList of 24000 items push then shift 10.592 ns/op 6.3320 ns/op 1.67
array of 24000 items push then pop 173.47 ns/op 106.94 ns/op 1.62
LinkedList of 24000 items push then pop 9.5700 ns/op 6.4680 ns/op 1.48
intersect bitArray bitLen 8 6.0560 ns/op 5.4720 ns/op 1.11
intersect array and set length 8 67.516 ns/op 37.481 ns/op 1.80
intersect bitArray bitLen 128 32.341 ns/op 26.592 ns/op 1.22
intersect array and set length 128 815.12 ns/op 571.67 ns/op 1.43
bitArray.getTrueBitIndexes() bitLen 128 2.1770 us/op 1.4100 us/op 1.54
bitArray.getTrueBitIndexes() bitLen 248 3.5450 us/op 2.1180 us/op 1.67
bitArray.getTrueBitIndexes() bitLen 512 6.3880 us/op 3.7720 us/op 1.69
Buffer.concat 32 items 1.1190 us/op 886.00 ns/op 1.26
Uint8Array.set 32 items 2.0690 us/op 1.6620 us/op 1.24
Buffer.copy 2.9370 us/op 2.3940 us/op 1.23
Uint8Array.set - with subarray 2.4700 us/op 2.3630 us/op 1.05
Uint8Array.set - without subarray 2.2970 us/op 1.7300 us/op 1.33
getUint32 - dataview 481.00 ns/op 417.00 ns/op 1.15
getUint32 - manual 495.00 ns/op 336.00 ns/op 1.47
Set add up to 64 items then delete first 2.6690 us/op 1.7610 us/op 1.52
OrderedSet add up to 64 items then delete first 4.0810 us/op 2.7222 us/op 1.50
Set add up to 64 items then delete last 2.8716 us/op 2.0246 us/op 1.42
OrderedSet add up to 64 items then delete last 4.4133 us/op 3.0132 us/op 1.46
Set add up to 64 items then delete middle 2.7038 us/op 2.0250 us/op 1.34
OrderedSet add up to 64 items then delete middle 5.9214 us/op 4.6284 us/op 1.28
Set add up to 128 items then delete first 5.4639 us/op 4.0406 us/op 1.35
OrderedSet add up to 128 items then delete first 9.1576 us/op 6.6739 us/op 1.37
Set add up to 128 items then delete last 5.7829 us/op 3.7815 us/op 1.53
OrderedSet add up to 128 items then delete last 9.2818 us/op 5.5609 us/op 1.67
Set add up to 128 items then delete middle 4.9773 us/op 3.7100 us/op 1.34
OrderedSet add up to 128 items then delete middle 13.620 us/op 12.261 us/op 1.11
Set add up to 256 items then delete first 9.0935 us/op 7.7349 us/op 1.18
OrderedSet add up to 256 items then delete first 14.001 us/op 12.606 us/op 1.11
Set add up to 256 items then delete last 8.7814 us/op 7.3554 us/op 1.19
OrderedSet add up to 256 items then delete last 13.047 us/op 12.072 us/op 1.08
Set add up to 256 items then delete middle 8.2845 us/op 7.4141 us/op 1.12
OrderedSet add up to 256 items then delete middle 43.017 us/op 34.889 us/op 1.23
transfer serialized Status (84 B) 3.1280 us/op 2.4040 us/op 1.30
copy serialized Status (84 B) 1.8360 us/op 1.4050 us/op 1.31
transfer serialized SignedVoluntaryExit (112 B) 3.4490 us/op 2.4860 us/op 1.39
copy serialized SignedVoluntaryExit (112 B) 1.9840 us/op 1.4910 us/op 1.33
transfer serialized ProposerSlashing (416 B) 3.5560 us/op 2.6270 us/op 1.35
copy serialized ProposerSlashing (416 B) 2.7510 us/op 2.6280 us/op 1.05
transfer serialized Attestation (485 B) 4.3510 us/op 3.2590 us/op 1.34
copy serialized Attestation (485 B) 3.4440 us/op 2.6850 us/op 1.28
transfer serialized AttesterSlashing (33232 B) 3.2280 us/op 3.2690 us/op 0.99
copy serialized AttesterSlashing (33232 B) 6.4340 us/op 5.3270 us/op 1.21
transfer serialized Small SignedBeaconBlock (128000 B) 3.0040 us/op 3.5940 us/op 0.84
copy serialized Small SignedBeaconBlock (128000 B) 18.164 us/op 9.6160 us/op 1.89
transfer serialized Avg SignedBeaconBlock (200000 B) 3.0090 us/op 3.7990 us/op 0.79
copy serialized Avg SignedBeaconBlock (200000 B) 15.622 us/op 12.479 us/op 1.25
transfer serialized BlobsSidecar (524380 B) 3.2800 us/op 3.9350 us/op 0.83
copy serialized BlobsSidecar (524380 B) 76.765 us/op 68.446 us/op 1.12
transfer serialized Big SignedBeaconBlock (1000000 B) 4.2690 us/op 4.3800 us/op 0.97
copy serialized Big SignedBeaconBlock (1000000 B) 261.75 us/op 127.23 us/op 2.06
pass gossip attestations to forkchoice per slot 2.8612 ms/op 2.3499 ms/op 1.22
forkChoice updateHead vc 100000 bc 64 eq 0 481.88 us/op 380.96 us/op 1.26
forkChoice updateHead vc 600000 bc 64 eq 0 2.3589 ms/op 2.3445 ms/op 1.01
forkChoice updateHead vc 1000000 bc 64 eq 0 4.6134 ms/op 3.8599 ms/op 1.20
forkChoice updateHead vc 600000 bc 320 eq 0 2.2621 ms/op 2.3089 ms/op 0.98
forkChoice updateHead vc 600000 bc 1200 eq 0 2.1789 ms/op 2.2048 ms/op 0.99
forkChoice updateHead vc 600000 bc 7200 eq 0 2.6879 ms/op 2.4808 ms/op 1.08
forkChoice updateHead vc 600000 bc 64 eq 1000 10.120 ms/op 9.4506 ms/op 1.07
forkChoice updateHead vc 600000 bc 64 eq 10000 9.7776 ms/op 9.3398 ms/op 1.05
forkChoice updateHead vc 600000 bc 64 eq 300000 13.714 ms/op 11.232 ms/op 1.22
computeDeltas 500000 validators 300 proto nodes 3.9382 ms/op 3.2276 ms/op 1.22
computeDeltas 500000 validators 1200 proto nodes 3.8437 ms/op 3.1948 ms/op 1.20
computeDeltas 500000 validators 7200 proto nodes 3.8680 ms/op 3.1732 ms/op 1.22
computeDeltas 750000 validators 300 proto nodes 5.9427 ms/op 4.8530 ms/op 1.22
computeDeltas 750000 validators 1200 proto nodes 5.3789 ms/op 4.8287 ms/op 1.11
computeDeltas 750000 validators 7200 proto nodes 5.4729 ms/op 4.8821 ms/op 1.12
computeDeltas 1400000 validators 300 proto nodes 11.252 ms/op 8.9087 ms/op 1.26
computeDeltas 1400000 validators 1200 proto nodes 11.058 ms/op 8.9118 ms/op 1.24
computeDeltas 1400000 validators 7200 proto nodes 10.438 ms/op 8.6853 ms/op 1.20
computeDeltas 2100000 validators 300 proto nodes 15.304 ms/op 13.195 ms/op 1.16
computeDeltas 2100000 validators 1200 proto nodes 15.742 ms/op 13.240 ms/op 1.19
computeDeltas 2100000 validators 7200 proto nodes 17.042 ms/op 13.129 ms/op 1.30
altair processAttestation - 250000 vs - 7PWei normalcase 3.2419 ms/op 1.5966 ms/op 2.03
altair processAttestation - 250000 vs - 7PWei worstcase 4.2498 ms/op 2.3780 ms/op 1.79
altair processAttestation - setStatus - 1/6 committees join 114.62 us/op 89.289 us/op 1.28
altair processAttestation - setStatus - 1/3 committees join 254.58 us/op 160.75 us/op 1.58
altair processAttestation - setStatus - 1/2 committees join 325.09 us/op 242.07 us/op 1.34
altair processAttestation - setStatus - 2/3 committees join 457.98 us/op 323.82 us/op 1.41
altair processAttestation - setStatus - 4/5 committees join 577.33 us/op 455.37 us/op 1.27
altair processAttestation - setStatus - 100% committees join 685.64 us/op 541.69 us/op 1.27
altair processBlock - 250000 vs - 7PWei normalcase 6.5578 ms/op 4.9124 ms/op 1.33
altair processBlock - 250000 vs - 7PWei normalcase hashState 36.257 ms/op 27.527 ms/op 1.32
altair processBlock - 250000 vs - 7PWei worstcase 44.681 ms/op 35.410 ms/op 1.26
altair processBlock - 250000 vs - 7PWei worstcase hashState 88.437 ms/op 73.272 ms/op 1.21
phase0 processBlock - 250000 vs - 7PWei normalcase 2.8214 ms/op 2.1014 ms/op 1.34
phase0 processBlock - 250000 vs - 7PWei worstcase 29.360 ms/op 24.022 ms/op 1.22
altair processEth1Data - 250000 vs - 7PWei normalcase 339.52 us/op 325.26 us/op 1.04
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 7.4760 us/op 7.2550 us/op 1.03
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 30.744 us/op 14.328 us/op 2.15
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 11.154 us/op 8.0660 us/op 1.38
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 7.5830 us/op 7.4020 us/op 1.02
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 117.61 us/op 114.56 us/op 1.03
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.2349 ms/op 1.2485 ms/op 0.99
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.5249 ms/op 1.0865 ms/op 1.40
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.4159 ms/op 1.0957 ms/op 1.29
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.4724 ms/op 2.3358 ms/op 1.49
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.2017 ms/op 975.85 us/op 1.23
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.4837 ms/op 2.6651 ms/op 1.68
Tree 40 250000 create 717.23 ms/op 320.26 ms/op 2.24
Tree 40 250000 get(125000) 145.78 ns/op 120.44 ns/op 1.21
Tree 40 250000 set(125000) 2.2169 us/op 1.1879 us/op 1.87
Tree 40 250000 toArray() 22.227 ms/op 12.682 ms/op 1.75
Tree 40 250000 iterate all - toArray() + loop 25.064 ms/op 15.520 ms/op 1.61
Tree 40 250000 iterate all - get(i) 55.977 ms/op 37.881 ms/op 1.48
Array 250000 create 3.7908 ms/op 2.4775 ms/op 1.53
Array 250000 clone - spread 3.9485 ms/op 1.2589 ms/op 3.14
Array 250000 get(125000) 0.62800 ns/op 0.55300 ns/op 1.14
Array 250000 set(125000) 0.79200 ns/op 0.57700 ns/op 1.37
Array 250000 iterate all - loop 90.938 us/op 76.344 us/op 1.19
phase0 afterProcessEpoch - 250000 vs - 7PWei 56.438 ms/op 40.932 ms/op 1.38
Array.fill - length 1000000 2.7858 ms/op 2.5310 ms/op 1.10
Array push - length 1000000 22.313 ms/op 14.168 ms/op 1.57
Array.get 0.34786 ns/op 0.25216 ns/op 1.38
Uint8Array.get 0.37387 ns/op 0.31755 ns/op 1.18
phase0 beforeProcessEpoch - 250000 vs - 7PWei 28.729 ms/op 15.203 ms/op 1.89
altair processEpoch - mainnet_e81889 415.16 ms/op 283.03 ms/op 1.47
mainnet_e81889 - altair beforeProcessEpoch 21.692 ms/op 15.199 ms/op 1.43
mainnet_e81889 - altair processJustificationAndFinalization 20.572 us/op 13.387 us/op 1.54
mainnet_e81889 - altair processInactivityUpdates 6.5156 ms/op 3.5587 ms/op 1.83
mainnet_e81889 - altair processRewardsAndPenalties 48.733 ms/op 49.105 ms/op 0.99
mainnet_e81889 - altair processRegistryUpdates 5.4080 us/op 2.1800 us/op 2.48
mainnet_e81889 - altair processSlashings 1.4410 us/op 811.00 ns/op 1.78
mainnet_e81889 - altair processEth1DataReset 1.5740 us/op 894.00 ns/op 1.76
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.2171 ms/op 1.6211 ms/op 0.75
mainnet_e81889 - altair processSlashingsReset 5.7780 us/op 2.6420 us/op 2.19
mainnet_e81889 - altair processRandaoMixesReset 6.2340 us/op 3.3400 us/op 1.87
mainnet_e81889 - altair processHistoricalRootsUpdate 1.0020 us/op 883.00 ns/op 1.13
mainnet_e81889 - altair processParticipationFlagUpdates 3.7100 us/op 1.9310 us/op 1.92
mainnet_e81889 - altair processSyncCommitteeUpdates 1.5850 us/op 819.00 ns/op 1.94
mainnet_e81889 - altair afterProcessEpoch 46.144 ms/op 43.173 ms/op 1.07
capella processEpoch - mainnet_e217614 1.1672 s/op 978.93 ms/op 1.19
mainnet_e217614 - capella beforeProcessEpoch 95.078 ms/op 63.911 ms/op 1.49
mainnet_e217614 - capella processJustificationAndFinalization 21.149 us/op 10.345 us/op 2.04
mainnet_e217614 - capella processInactivityUpdates 18.528 ms/op 12.624 ms/op 1.47
mainnet_e217614 - capella processRewardsAndPenalties 280.28 ms/op 247.84 ms/op 1.13
mainnet_e217614 - capella processRegistryUpdates 16.098 us/op 11.037 us/op 1.46
mainnet_e217614 - capella processSlashings 1.7140 us/op 855.00 ns/op 2.00
mainnet_e217614 - capella processEth1DataReset 1.2490 us/op 820.00 ns/op 1.52
mainnet_e217614 - capella processEffectiveBalanceUpdates 11.700 ms/op 3.5293 ms/op 3.31
mainnet_e217614 - capella processSlashingsReset 4.5380 us/op 1.4820 us/op 3.06
mainnet_e217614 - capella processRandaoMixesReset 7.8420 us/op 3.4940 us/op 2.24
mainnet_e217614 - capella processHistoricalRootsUpdate 1.8930 us/op 758.00 ns/op 2.50
mainnet_e217614 - capella processParticipationFlagUpdates 3.1090 us/op 1.4140 us/op 2.20
mainnet_e217614 - capella afterProcessEpoch 108.45 ms/op 102.03 ms/op 1.06
phase0 processEpoch - mainnet_e58758 372.75 ms/op 311.00 ms/op 1.20
mainnet_e58758 - phase0 beforeProcessEpoch 110.34 ms/op 74.847 ms/op 1.47
mainnet_e58758 - phase0 processJustificationAndFinalization 19.855 us/op 12.726 us/op 1.56
mainnet_e58758 - phase0 processRewardsAndPenalties 27.188 ms/op 30.333 ms/op 0.90
mainnet_e58758 - phase0 processRegistryUpdates 11.220 us/op 6.9070 us/op 1.62
mainnet_e58758 - phase0 processSlashings 1.5630 us/op 944.00 ns/op 1.66
mainnet_e58758 - phase0 processEth1DataReset 1.4440 us/op 816.00 ns/op 1.77
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.1247 ms/op 1.3356 ms/op 0.84
mainnet_e58758 - phase0 processSlashingsReset 4.6930 us/op 2.3740 us/op 1.98
mainnet_e58758 - phase0 processRandaoMixesReset 6.9150 us/op 3.6040 us/op 1.92
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.3910 us/op 817.00 ns/op 1.70
mainnet_e58758 - phase0 processParticipationRecordUpdates 8.6610 us/op 3.3550 us/op 2.58
mainnet_e58758 - phase0 afterProcessEpoch 38.290 ms/op 35.321 ms/op 1.08
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.3034 ms/op 911.91 us/op 1.43
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.3160 ms/op 1.2086 ms/op 1.09
altair processInactivityUpdates - 250000 normalcase 21.098 ms/op 15.697 ms/op 1.34
altair processInactivityUpdates - 250000 worstcase 19.798 ms/op 16.515 ms/op 1.20
phase0 processRegistryUpdates - 250000 normalcase 7.5730 us/op 2.6820 us/op 2.82
phase0 processRegistryUpdates - 250000 badcase_full_deposits 310.00 us/op 285.47 us/op 1.09
phase0 processRegistryUpdates - 250000 worstcase 0.5 95.660 ms/op 94.361 ms/op 1.01
altair processRewardsAndPenalties - 250000 normalcase 47.619 ms/op 49.404 ms/op 0.96
altair processRewardsAndPenalties - 250000 worstcase 39.408 ms/op 40.183 ms/op 0.98
phase0 getAttestationDeltas - 250000 normalcase 5.6705 ms/op 4.7672 ms/op 1.19
phase0 getAttestationDeltas - 250000 worstcase 5.7648 ms/op 5.0448 ms/op 1.14
phase0 processSlashings - 250000 worstcase 97.780 us/op 83.007 us/op 1.18
altair processSyncCommitteeUpdates - 250000 127.81 ms/op 92.327 ms/op 1.38
BeaconState.hashTreeRoot - No change 536.00 ns/op 448.00 ns/op 1.20
BeaconState.hashTreeRoot - 1 full validator 127.49 us/op 99.307 us/op 1.28
BeaconState.hashTreeRoot - 32 full validator 1.7322 ms/op 1.4092 ms/op 1.23
BeaconState.hashTreeRoot - 512 full validator 8.9683 ms/op 11.187 ms/op 0.80
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 119.63 us/op 146.09 us/op 0.82
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.7614 ms/op 1.8672 ms/op 0.94
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 23.924 ms/op 23.627 ms/op 1.01
BeaconState.hashTreeRoot - 1 balances 125.70 us/op 121.32 us/op 1.04
BeaconState.hashTreeRoot - 32 balances 1.3608 ms/op 1.2942 ms/op 1.05
BeaconState.hashTreeRoot - 512 balances 10.978 ms/op 7.4127 ms/op 1.48
BeaconState.hashTreeRoot - 250000 balances 240.33 ms/op 175.21 ms/op 1.37
aggregationBits - 2048 els - zipIndexesInBitList 25.623 us/op 19.821 us/op 1.29
byteArrayEquals 32 51.806 ns/op 44.536 ns/op 1.16
Buffer.compare 32 17.305 ns/op 14.226 ns/op 1.22
byteArrayEquals 1024 1.3622 us/op 1.1549 us/op 1.18
Buffer.compare 1024 31.460 ns/op 22.023 ns/op 1.43
byteArrayEquals 16384 21.224 us/op 18.358 us/op 1.16
Buffer.compare 16384 184.91 ns/op 189.01 ns/op 0.98
byteArrayEquals 123687377 161.06 ms/op 138.78 ms/op 1.16
Buffer.compare 123687377 6.6896 ms/op 5.3418 ms/op 1.25
byteArrayEquals 32 - diff last byte 48.637 ns/op 43.629 ns/op 1.11
Buffer.compare 32 - diff last byte 17.352 ns/op 14.517 ns/op 1.20
byteArrayEquals 1024 - diff last byte 1.4221 us/op 1.1536 us/op 1.23
Buffer.compare 1024 - diff last byte 24.420 ns/op 22.181 ns/op 1.10
byteArrayEquals 16384 - diff last byte 23.294 us/op 18.503 us/op 1.26
Buffer.compare 16384 - diff last byte 179.35 ns/op 174.71 ns/op 1.03
byteArrayEquals 123687377 - diff last byte 153.95 ms/op 141.80 ms/op 1.09
Buffer.compare 123687377 - diff last byte 5.5304 ms/op 4.0957 ms/op 1.35
byteArrayEquals 32 - random bytes 4.7210 ns/op 4.9130 ns/op 0.96
Buffer.compare 32 - random bytes 14.984 ns/op 16.298 ns/op 0.92
byteArrayEquals 1024 - random bytes 4.7070 ns/op 4.9840 ns/op 0.94
Buffer.compare 1024 - random bytes 14.806 ns/op 15.802 ns/op 0.94
byteArrayEquals 16384 - random bytes 4.7110 ns/op 4.9480 ns/op 0.95
Buffer.compare 16384 - random bytes 14.939 ns/op 15.773 ns/op 0.95
byteArrayEquals 123687377 - random bytes 7.5400 ns/op 7.8900 ns/op 0.96
Buffer.compare 123687377 - random bytes 17.640 ns/op 18.770 ns/op 0.94
regular array get 100000 times 29.505 us/op 29.854 us/op 0.99
wrappedArray get 100000 times 29.534 us/op 29.742 us/op 0.99
arrayWithProxy get 100000 times 9.9312 ms/op 9.3537 ms/op 1.06
ssz.Root.equals 41.589 ns/op 43.084 ns/op 0.97
byteArrayEquals 39.077 ns/op 41.808 ns/op 0.93
Buffer.compare 9.9130 ns/op 8.7040 ns/op 1.14
processSlot - 1 slots 11.805 us/op 10.923 us/op 1.08
processSlot - 32 slots 2.5276 ms/op 2.4367 ms/op 1.04
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 40.657 ms/op 40.229 ms/op 1.01
getCommitteeAssignments - req 1 vs - 250000 vc 1.8234 ms/op 1.7251 ms/op 1.06
getCommitteeAssignments - req 100 vs - 250000 vc 3.5783 ms/op 3.4071 ms/op 1.05
getCommitteeAssignments - req 1000 vs - 250000 vc 3.8015 ms/op 3.6537 ms/op 1.04
findModifiedValidators - 10000 modified validators 228.06 ms/op 229.13 ms/op 1.00
findModifiedValidators - 1000 modified validators 152.99 ms/op 133.76 ms/op 1.14
findModifiedValidators - 100 modified validators 139.29 ms/op 142.87 ms/op 0.97
findModifiedValidators - 10 modified validators 142.52 ms/op 130.18 ms/op 1.09
findModifiedValidators - 1 modified validators 134.06 ms/op 121.63 ms/op 1.10
findModifiedValidators - no difference 182.42 ms/op 152.00 ms/op 1.20
compare ViewDUs 3.4291 s/op 3.3439 s/op 1.03
compare each validator Uint8Array 1.6117 s/op 1.6096 s/op 1.00
compare ViewDU to Uint8Array 868.43 ms/op 639.98 ms/op 1.36
migrate state 1000000 validators, 24 modified, 0 new 702.72 ms/op 657.74 ms/op 1.07
migrate state 1000000 validators, 1700 modified, 1000 new 933.72 ms/op 905.18 ms/op 1.03
migrate state 1000000 validators, 3400 modified, 2000 new 1.0208 s/op 1.0738 s/op 0.95
migrate state 1500000 validators, 24 modified, 0 new 686.96 ms/op 738.77 ms/op 0.93
migrate state 1500000 validators, 1700 modified, 1000 new 923.77 ms/op 939.29 ms/op 0.98
migrate state 1500000 validators, 3400 modified, 2000 new 1.2080 s/op 1.1154 s/op 1.08
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 6.7600 ns/op 6.2100 ns/op 1.09
state getBlockRootAtSlot - 250000 vs - 7PWei 386.82 ns/op 1.0431 us/op 0.37
computeProposers - vc 250000 5.4940 ms/op 6.6853 ms/op 0.82
computeEpochShuffling - vc 250000 37.237 ms/op 34.647 ms/op 1.07
getNextSyncCommittee - vc 250000 123.47 ms/op 111.45 ms/op 1.11
computeSigningRoot for AttestationData 15.378 us/op 28.617 us/op 0.54
hash AttestationData serialized data then Buffer.toString(base64) 1.2127 us/op 1.1232 us/op 1.08
toHexString serialized data 761.20 ns/op 728.97 ns/op 1.04
Buffer.toString(base64) 158.33 ns/op 131.85 ns/op 1.20
nodejs block root to RootHex using toHex 126.58 ns/op 103.30 ns/op 1.23
nodejs block root to RootHex using toRootHex 77.251 ns/op 66.677 ns/op 1.16
browser block root to RootHex using the deprecated toHexString 210.31 ns/op 195.38 ns/op 1.08
browser block root to RootHex using toHex 170.18 ns/op 155.97 ns/op 1.09
browser block root to RootHex using toRootHex 155.83 ns/op 137.94 ns/op 1.13

by benchmarkbot/action

@nflaig nflaig enabled auto-merge (squash) January 30, 2025 20:01
@nflaig nflaig merged commit 418e81e into unstable Jan 30, 2025
20 checks passed
@nflaig nflaig deleted the nflaig/pass-fork branch January 30, 2025 21:33
@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.

2 participants