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: use signing slot to determine fork #7112

Merged
merged 1 commit into from
Sep 27, 2024
Merged

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Sep 27, 2024

Motivation

As suggested by @ensi321 in #7100 (comment)

Description

Use signing slot to determine fork

@nflaig nflaig requested a review from a team as a code owner September 27, 2024 08:25
Copy link

codecov bot commented Sep 27, 2024

Codecov Report

Attention: Patch coverage is 0% with 3 lines in your changes missing coverage. Please review.

Project coverage is 48.94%. Comparing base (77006ea) to head (12b1241).
Report is 1 commits behind head on unstable.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #7112   +/-   ##
=========================================
  Coverage     48.94%   48.94%           
=========================================
  Files           597      597           
  Lines         39803    39803           
  Branches       2065     2055   -10     
=========================================
  Hits          19481    19481           
- Misses        20280    20281    +1     
+ Partials         42       41    -1     

Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 7f2b72c Previous: 77006ea Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.8517 ms/op 1.7664 ms/op 1.05
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 41.129 us/op 45.587 us/op 0.90
BLS verify - blst 882.95 us/op 810.21 us/op 1.09
BLS verifyMultipleSignatures 3 - blst 1.5867 ms/op 1.1414 ms/op 1.39
BLS verifyMultipleSignatures 8 - blst 2.0737 ms/op 1.5921 ms/op 1.30
BLS verifyMultipleSignatures 32 - blst 4.4390 ms/op 4.6995 ms/op 0.94
BLS verifyMultipleSignatures 64 - blst 8.3725 ms/op 8.6887 ms/op 0.96
BLS verifyMultipleSignatures 128 - blst 15.815 ms/op 16.573 ms/op 0.95
BLS deserializing 10000 signatures 612.32 ms/op 659.00 ms/op 0.93
BLS deserializing 100000 signatures 6.2814 s/op 6.6820 s/op 0.94
BLS verifyMultipleSignatures - same message - 3 - blst 976.45 us/op 843.05 us/op 1.16
BLS verifyMultipleSignatures - same message - 8 - blst 938.35 us/op 1.0002 ms/op 0.94
BLS verifyMultipleSignatures - same message - 32 - blst 1.6641 ms/op 1.5985 ms/op 1.04
BLS verifyMultipleSignatures - same message - 64 - blst 2.5432 ms/op 2.4852 ms/op 1.02
BLS verifyMultipleSignatures - same message - 128 - blst 4.2515 ms/op 4.1647 ms/op 1.02
BLS aggregatePubkeys 32 - blst 18.066 us/op 19.153 us/op 0.94
BLS aggregatePubkeys 128 - blst 64.128 us/op 67.709 us/op 0.95
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 67.550 ms/op 64.459 ms/op 1.05
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 44.849 ms/op 51.258 ms/op 0.87
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 32.948 ms/op 32.418 ms/op 1.02
getSlashingsAndExits - default max 66.786 us/op 97.985 us/op 0.68
getSlashingsAndExits - 2k 260.80 us/op 269.70 us/op 0.97
proposeBlockBody type=full, size=empty 4.9639 ms/op 5.8009 ms/op 0.86
isKnown best case - 1 super set check 501.00 ns/op 293.00 ns/op 1.71
isKnown normal case - 2 super set checks 469.00 ns/op 287.00 ns/op 1.63
isKnown worse case - 16 super set checks 465.00 ns/op 272.00 ns/op 1.71
InMemoryCheckpointStateCache - add get delete 2.8570 us/op 2.6410 us/op 1.08
updateUnfinalizedPubkeys - updating 10 pubkeys 534.21 us/op 1.3052 ms/op 0.41
updateUnfinalizedPubkeys - updating 100 pubkeys 2.3706 ms/op 3.2881 ms/op 0.72
updateUnfinalizedPubkeys - updating 1000 pubkeys 38.074 ms/op 49.833 ms/op 0.76
validate api signedAggregateAndProof - struct 1.4615 ms/op 1.3578 ms/op 1.08
validate gossip signedAggregateAndProof - struct 1.4572 ms/op 1.4375 ms/op 1.01
validate gossip attestation - vc 640000 972.75 us/op 910.94 us/op 1.07
batch validate gossip attestation - vc 640000 - chunk 32 122.74 us/op 131.25 us/op 0.94
batch validate gossip attestation - vc 640000 - chunk 64 107.13 us/op 114.65 us/op 0.93
batch validate gossip attestation - vc 640000 - chunk 128 100.99 us/op 107.44 us/op 0.94
batch validate gossip attestation - vc 640000 - chunk 256 101.37 us/op 108.89 us/op 0.93
pickEth1Vote - no votes 858.94 us/op 1.1913 ms/op 0.72
pickEth1Vote - max votes 5.1775 ms/op 7.0098 ms/op 0.74
pickEth1Vote - Eth1Data hashTreeRoot value x2048 12.039 ms/op 14.775 ms/op 0.81
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 14.009 ms/op 22.502 ms/op 0.62
pickEth1Vote - Eth1Data fastSerialize value x2048 377.51 us/op 517.46 us/op 0.73
pickEth1Vote - Eth1Data fastSerialize tree x2048 1.9697 ms/op 2.7279 ms/op 0.72
bytes32 toHexString 573.00 ns/op 514.00 ns/op 1.11
bytes32 Buffer.toString(hex) 440.00 ns/op 254.00 ns/op 1.73
bytes32 Buffer.toString(hex) from Uint8Array 547.00 ns/op 479.00 ns/op 1.14
bytes32 Buffer.toString(hex) + 0x 448.00 ns/op 265.00 ns/op 1.69
Object access 1 prop 0.32700 ns/op 0.17200 ns/op 1.90
Map access 1 prop 0.31800 ns/op 0.13300 ns/op 2.39
Object get x1000 5.1750 ns/op 6.1990 ns/op 0.83
Map get x1000 6.1090 ns/op 6.6150 ns/op 0.92
Object set x1000 23.152 ns/op 41.023 ns/op 0.56
Map set x1000 19.239 ns/op 26.882 ns/op 0.72
Return object 10000 times 0.30690 ns/op 0.31020 ns/op 0.99
Throw Error 10000 times 2.7630 us/op 3.4461 us/op 0.80
toHex 113.91 ns/op 164.86 ns/op 0.69
Buffer.from 105.08 ns/op 152.59 ns/op 0.69
shared Buffer 74.421 ns/op 91.919 ns/op 0.81
fastMsgIdFn sha256 / 200 bytes 2.0250 us/op 2.2980 us/op 0.88
fastMsgIdFn h32 xxhash / 200 bytes 424.00 ns/op 290.00 ns/op 1.46
fastMsgIdFn h64 xxhash / 200 bytes 455.00 ns/op 277.00 ns/op 1.64
fastMsgIdFn sha256 / 1000 bytes 6.0100 us/op 7.5430 us/op 0.80
fastMsgIdFn h32 xxhash / 1000 bytes 584.00 ns/op 403.00 ns/op 1.45
fastMsgIdFn h64 xxhash / 1000 bytes 533.00 ns/op 349.00 ns/op 1.53
fastMsgIdFn sha256 / 10000 bytes 51.923 us/op 65.529 us/op 0.79
fastMsgIdFn h32 xxhash / 10000 bytes 1.9560 us/op 1.9490 us/op 1.00
fastMsgIdFn h64 xxhash / 10000 bytes 1.3570 us/op 1.2510 us/op 1.08
send data - 1000 256B messages 9.8010 ms/op 13.796 ms/op 0.71
send data - 1000 512B messages 17.111 ms/op 18.592 ms/op 0.92
send data - 1000 1024B messages 21.489 ms/op 27.973 ms/op 0.77
send data - 1000 1200B messages 26.408 ms/op 27.934 ms/op 0.95
send data - 1000 2048B messages 31.148 ms/op 34.302 ms/op 0.91
send data - 1000 4096B messages 28.873 ms/op 31.561 ms/op 0.91
send data - 1000 16384B messages 67.524 ms/op 70.160 ms/op 0.96
send data - 1000 65536B messages 278.11 ms/op 205.56 ms/op 1.35
enrSubnets - fastDeserialize 64 bits 1.3810 us/op 1.0800 us/op 1.28
enrSubnets - ssz BitVector 64 bits 653.00 ns/op 350.00 ns/op 1.87
enrSubnets - fastDeserialize 4 bits 405.00 ns/op 146.00 ns/op 2.77
enrSubnets - ssz BitVector 4 bits 679.00 ns/op 340.00 ns/op 2.00
prioritizePeers score -10:0 att 32-0.1 sync 2-0 140.15 us/op 141.38 us/op 0.99
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 131.77 us/op 154.15 us/op 0.85
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 311.35 us/op 240.45 us/op 1.29
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 435.43 us/op 387.81 us/op 1.12
prioritizePeers score 0:0 att 64-1 sync 4-1 703.08 us/op 577.51 us/op 1.22
array of 16000 items push then shift 1.2894 us/op 1.6607 us/op 0.78
LinkedList of 16000 items push then shift 7.8020 ns/op 7.3710 ns/op 1.06
array of 16000 items push then pop 96.072 ns/op 123.85 ns/op 0.78
LinkedList of 16000 items push then pop 6.3640 ns/op 7.1450 ns/op 0.89
array of 24000 items push then shift 1.9492 us/op 2.4235 us/op 0.80
LinkedList of 24000 items push then shift 6.4150 ns/op 7.4670 ns/op 0.86
array of 24000 items push then pop 139.19 ns/op 143.77 ns/op 0.97
LinkedList of 24000 items push then pop 6.3620 ns/op 7.0170 ns/op 0.91
intersect bitArray bitLen 8 5.6010 ns/op 6.4010 ns/op 0.88
intersect array and set length 8 41.869 ns/op 45.942 ns/op 0.91
intersect bitArray bitLen 128 28.059 ns/op 29.694 ns/op 0.94
intersect array and set length 128 618.74 ns/op 676.36 ns/op 0.91
bitArray.getTrueBitIndexes() bitLen 128 2.9630 us/op 1.8780 us/op 1.58
bitArray.getTrueBitIndexes() bitLen 248 3.8570 us/op 3.3080 us/op 1.17
bitArray.getTrueBitIndexes() bitLen 512 7.8130 us/op 6.3740 us/op 1.23
Buffer.concat 32 items 1.0300 us/op 945.00 ns/op 1.09
Uint8Array.set 32 items 1.7760 us/op 1.8090 us/op 0.98
Buffer.copy 2.2240 us/op 1.7350 us/op 1.28
Uint8Array.set - with subarray 3.5990 us/op 2.3360 us/op 1.54
Uint8Array.set - without subarray 1.9140 us/op 1.2180 us/op 1.57
getUint32 - dataview 457.00 ns/op 240.00 ns/op 1.90
getUint32 - manual 358.00 ns/op 165.00 ns/op 2.17
Set add up to 64 items then delete first 1.8220 us/op 2.2364 us/op 0.81
OrderedSet add up to 64 items then delete first 2.8338 us/op 3.3969 us/op 0.83
Set add up to 64 items then delete last 2.0820 us/op 2.5220 us/op 0.83
OrderedSet add up to 64 items then delete last 3.1431 us/op 3.9748 us/op 0.79
Set add up to 64 items then delete middle 2.0897 us/op 2.5512 us/op 0.82
OrderedSet add up to 64 items then delete middle 4.5518 us/op 5.4612 us/op 0.83
Set add up to 128 items then delete first 4.0583 us/op 5.1060 us/op 0.79
OrderedSet add up to 128 items then delete first 6.3611 us/op 7.6783 us/op 0.83
Set add up to 128 items then delete last 3.9223 us/op 5.6974 us/op 0.69
OrderedSet add up to 128 items then delete last 5.9699 us/op 7.8696 us/op 0.76
Set add up to 128 items then delete middle 3.9212 us/op 4.9461 us/op 0.79
OrderedSet add up to 128 items then delete middle 12.029 us/op 13.746 us/op 0.88
Set add up to 256 items then delete first 8.2226 us/op 11.852 us/op 0.69
OrderedSet add up to 256 items then delete first 13.768 us/op 17.290 us/op 0.80
Set add up to 256 items then delete last 7.8349 us/op 10.227 us/op 0.77
OrderedSet add up to 256 items then delete last 12.285 us/op 15.365 us/op 0.80
Set add up to 256 items then delete middle 7.8700 us/op 9.7523 us/op 0.81
OrderedSet add up to 256 items then delete middle 36.611 us/op 40.420 us/op 0.91
transfer serialized Status (84 B) 1.4600 us/op 1.3440 us/op 1.09
copy serialized Status (84 B) 1.4020 us/op 1.1230 us/op 1.25
transfer serialized SignedVoluntaryExit (112 B) 1.7470 us/op 1.4870 us/op 1.17
copy serialized SignedVoluntaryExit (112 B) 1.6980 us/op 1.1440 us/op 1.48
transfer serialized ProposerSlashing (416 B) 2.5580 us/op 1.5370 us/op 1.66
copy serialized ProposerSlashing (416 B) 2.5610 us/op 1.8110 us/op 1.41
transfer serialized Attestation (485 B) 1.8770 us/op 2.1900 us/op 0.86
copy serialized Attestation (485 B) 2.2070 us/op 1.4310 us/op 1.54
transfer serialized AttesterSlashing (33232 B) 1.9100 us/op 2.5540 us/op 0.75
copy serialized AttesterSlashing (33232 B) 4.3110 us/op 5.5190 us/op 0.78
transfer serialized Small SignedBeaconBlock (128000 B) 2.1870 us/op 3.1090 us/op 0.70
copy serialized Small SignedBeaconBlock (128000 B) 12.086 us/op 15.251 us/op 0.79
transfer serialized Avg SignedBeaconBlock (200000 B) 3.3560 us/op 3.7710 us/op 0.89
copy serialized Avg SignedBeaconBlock (200000 B) 15.998 us/op 22.660 us/op 0.71
transfer serialized BlobsSidecar (524380 B) 3.5690 us/op 2.9160 us/op 1.22
copy serialized BlobsSidecar (524380 B) 81.520 us/op 118.01 us/op 0.69
transfer serialized Big SignedBeaconBlock (1000000 B) 3.8390 us/op 2.8040 us/op 1.37
copy serialized Big SignedBeaconBlock (1000000 B) 255.92 us/op 152.88 us/op 1.67
pass gossip attestations to forkchoice per slot 2.6208 ms/op 2.8033 ms/op 0.93
forkChoice updateHead vc 100000 bc 64 eq 0 501.42 us/op 494.60 us/op 1.01
forkChoice updateHead vc 600000 bc 64 eq 0 2.4890 ms/op 2.9678 ms/op 0.84
forkChoice updateHead vc 1000000 bc 64 eq 0 4.9807 ms/op 5.0850 ms/op 0.98
forkChoice updateHead vc 600000 bc 320 eq 0 4.5028 ms/op 3.5187 ms/op 1.28
forkChoice updateHead vc 600000 bc 1200 eq 0 2.8250 ms/op 3.1164 ms/op 0.91
forkChoice updateHead vc 600000 bc 7200 eq 0 3.2649 ms/op 3.4250 ms/op 0.95
forkChoice updateHead vc 600000 bc 64 eq 1000 10.161 ms/op 10.662 ms/op 0.95
forkChoice updateHead vc 600000 bc 64 eq 10000 9.6475 ms/op 10.163 ms/op 0.95
forkChoice updateHead vc 600000 bc 64 eq 300000 11.857 ms/op 14.483 ms/op 0.82
computeDeltas 500000 validators 300 proto nodes 3.3245 ms/op 3.6172 ms/op 0.92
computeDeltas 500000 validators 1200 proto nodes 3.1038 ms/op 3.8560 ms/op 0.80
computeDeltas 500000 validators 7200 proto nodes 3.2317 ms/op 3.8390 ms/op 0.84
computeDeltas 750000 validators 300 proto nodes 5.0046 ms/op 5.5696 ms/op 0.90
computeDeltas 750000 validators 1200 proto nodes 5.2206 ms/op 5.6050 ms/op 0.93
computeDeltas 750000 validators 7200 proto nodes 5.6554 ms/op 5.7264 ms/op 0.99
computeDeltas 1400000 validators 300 proto nodes 9.0457 ms/op 10.377 ms/op 0.87
computeDeltas 1400000 validators 1200 proto nodes 8.6615 ms/op 10.722 ms/op 0.81
computeDeltas 1400000 validators 7200 proto nodes 8.7286 ms/op 11.281 ms/op 0.77
computeDeltas 2100000 validators 300 proto nodes 12.899 ms/op 16.546 ms/op 0.78
computeDeltas 2100000 validators 1200 proto nodes 13.102 ms/op 16.559 ms/op 0.79
computeDeltas 2100000 validators 7200 proto nodes 12.931 ms/op 16.938 ms/op 0.76
altair processAttestation - 250000 vs - 7PWei normalcase 2.4301 ms/op 2.7458 ms/op 0.89
altair processAttestation - 250000 vs - 7PWei worstcase 3.0198 ms/op 3.9140 ms/op 0.77
altair processAttestation - setStatus - 1/6 committees join 68.288 us/op 124.92 us/op 0.55
altair processAttestation - setStatus - 1/3 committees join 136.98 us/op 231.18 us/op 0.59
altair processAttestation - setStatus - 1/2 committees join 229.59 us/op 352.65 us/op 0.65
altair processAttestation - setStatus - 2/3 committees join 263.79 us/op 381.57 us/op 0.69
altair processAttestation - setStatus - 4/5 committees join 419.11 us/op 561.53 us/op 0.75
altair processAttestation - setStatus - 100% committees join 484.98 us/op 671.35 us/op 0.72
altair processBlock - 250000 vs - 7PWei normalcase 4.6546 ms/op 5.2160 ms/op 0.89
altair processBlock - 250000 vs - 7PWei normalcase hashState 30.351 ms/op 27.699 ms/op 1.10
altair processBlock - 250000 vs - 7PWei worstcase 35.948 ms/op 40.381 ms/op 0.89
altair processBlock - 250000 vs - 7PWei worstcase hashState 68.473 ms/op 89.771 ms/op 0.76
phase0 processBlock - 250000 vs - 7PWei normalcase 2.1230 ms/op 2.3373 ms/op 0.91
phase0 processBlock - 250000 vs - 7PWei worstcase 23.491 ms/op 28.487 ms/op 0.82
altair processEth1Data - 250000 vs - 7PWei normalcase 248.44 us/op 532.98 us/op 0.47
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 4.6240 us/op 10.344 us/op 0.45
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 32.195 us/op 60.633 us/op 0.53
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 8.9360 us/op 16.999 us/op 0.53
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 5.2550 us/op 10.299 us/op 0.51
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 130.85 us/op 196.34 us/op 0.67
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 793.47 us/op 1.1862 ms/op 0.67
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.1885 ms/op 1.7502 ms/op 0.68
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.1868 ms/op 1.5566 ms/op 0.76
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.0879 ms/op 4.5996 ms/op 0.67
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.1872 ms/op 1.7863 ms/op 0.66
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 2.9801 ms/op 4.5142 ms/op 0.66
Tree 40 250000 create 262.73 ms/op 343.63 ms/op 0.76
Tree 40 250000 get(125000) 122.81 ns/op 169.05 ns/op 0.73
Tree 40 250000 set(125000) 708.98 ns/op 833.64 ns/op 0.85
Tree 40 250000 toArray() 19.713 ms/op 22.543 ms/op 0.87
Tree 40 250000 iterate all - toArray() + loop 19.210 ms/op 23.616 ms/op 0.81
Tree 40 250000 iterate all - get(i) 49.865 ms/op 63.442 ms/op 0.79
Array 250000 create 3.3561 ms/op 4.2473 ms/op 0.79
Array 250000 clone - spread 1.4925 ms/op 1.6957 ms/op 0.88
Array 250000 get(125000) 0.61000 ns/op 0.47900 ns/op 1.27
Array 250000 set(125000) 0.60400 ns/op 0.49000 ns/op 1.23
Array 250000 iterate all - loop 76.525 us/op 107.83 us/op 0.71
phase0 afterProcessEpoch - 250000 vs - 7PWei 79.003 ms/op 97.657 ms/op 0.81
Array.fill - length 1000000 2.6882 ms/op 4.5134 ms/op 0.60
Array push - length 1000000 17.038 ms/op 19.928 ms/op 0.85
Array.get 0.25973 ns/op 0.29053 ns/op 0.89
Uint8Array.get 0.33971 ns/op 0.47853 ns/op 0.71
phase0 beforeProcessEpoch - 250000 vs - 7PWei 17.110 ms/op 20.247 ms/op 0.85
altair processEpoch - mainnet_e81889 270.09 ms/op 374.56 ms/op 0.72
mainnet_e81889 - altair beforeProcessEpoch 18.871 ms/op 21.759 ms/op 0.87
mainnet_e81889 - altair processJustificationAndFinalization 11.992 us/op 18.687 us/op 0.64
mainnet_e81889 - altair processInactivityUpdates 4.0345 ms/op 7.4995 ms/op 0.54
mainnet_e81889 - altair processRewardsAndPenalties 49.702 ms/op 46.638 ms/op 1.07
mainnet_e81889 - altair processRegistryUpdates 2.3450 us/op 3.6920 us/op 0.64
mainnet_e81889 - altair processSlashings 804.00 ns/op 815.00 ns/op 0.99
mainnet_e81889 - altair processEth1DataReset 694.00 ns/op 1.5480 us/op 0.45
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.0351 ms/op 2.2555 ms/op 0.46
mainnet_e81889 - altair processSlashingsReset 2.3140 us/op 10.005 us/op 0.23
mainnet_e81889 - altair processRandaoMixesReset 3.2600 us/op 7.1730 us/op 0.45
mainnet_e81889 - altair processHistoricalRootsUpdate 712.00 ns/op 986.00 ns/op 0.72
mainnet_e81889 - altair processParticipationFlagUpdates 2.1800 us/op 7.1230 us/op 0.31
mainnet_e81889 - altair processSyncCommitteeUpdates 1.4010 us/op 1.2720 us/op 1.10
mainnet_e81889 - altair afterProcessEpoch 79.042 ms/op 108.59 ms/op 0.73
capella processEpoch - mainnet_e217614 1.1574 s/op 1.4754 s/op 0.78
mainnet_e217614 - capella beforeProcessEpoch 71.890 ms/op 88.580 ms/op 0.81
mainnet_e217614 - capella processJustificationAndFinalization 16.782 us/op 26.067 us/op 0.64
mainnet_e217614 - capella processInactivityUpdates 15.421 ms/op 20.857 ms/op 0.74
mainnet_e217614 - capella processRewardsAndPenalties 231.16 ms/op 253.95 ms/op 0.91
mainnet_e217614 - capella processRegistryUpdates 11.059 us/op 12.954 us/op 0.85
mainnet_e217614 - capella processSlashings 997.00 ns/op 299.00 ns/op 3.33
mainnet_e217614 - capella processEth1DataReset 764.00 ns/op 483.00 ns/op 1.58
mainnet_e217614 - capella processEffectiveBalanceUpdates 14.911 ms/op 14.871 ms/op 1.00
mainnet_e217614 - capella processSlashingsReset 3.0950 us/op 6.2720 us/op 0.49
mainnet_e217614 - capella processRandaoMixesReset 6.3640 us/op 5.2520 us/op 1.21
mainnet_e217614 - capella processHistoricalRootsUpdate 725.00 ns/op 1.2270 us/op 0.59
mainnet_e217614 - capella processParticipationFlagUpdates 2.6340 us/op 2.3840 us/op 1.10
mainnet_e217614 - capella afterProcessEpoch 197.62 ms/op 247.40 ms/op 0.80
phase0 processEpoch - mainnet_e58758 391.03 ms/op 464.52 ms/op 0.84
mainnet_e58758 - phase0 beforeProcessEpoch 80.927 ms/op 110.08 ms/op 0.74
mainnet_e58758 - phase0 processJustificationAndFinalization 21.301 us/op 15.293 us/op 1.39
mainnet_e58758 - phase0 processRewardsAndPenalties 32.111 ms/op 33.584 ms/op 0.96
mainnet_e58758 - phase0 processRegistryUpdates 6.0890 us/op 7.8900 us/op 0.77
mainnet_e58758 - phase0 processSlashings 820.00 ns/op 334.00 ns/op 2.46
mainnet_e58758 - phase0 processEth1DataReset 796.00 ns/op 325.00 ns/op 2.45
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.5043 ms/op 1.1632 ms/op 1.29
mainnet_e58758 - phase0 processSlashingsReset 3.2840 us/op 2.9860 us/op 1.10
mainnet_e58758 - phase0 processRandaoMixesReset 4.5960 us/op 4.2250 us/op 1.09
mainnet_e58758 - phase0 processHistoricalRootsUpdate 730.00 ns/op 699.00 ns/op 1.04
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.1760 us/op 3.3110 us/op 1.26
mainnet_e58758 - phase0 afterProcessEpoch 67.135 ms/op 82.009 ms/op 0.82
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.0281 ms/op 1.8536 ms/op 0.55
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.6610 ms/op 2.5359 ms/op 0.66
altair processInactivityUpdates - 250000 normalcase 17.120 ms/op 16.332 ms/op 1.05
altair processInactivityUpdates - 250000 worstcase 20.037 ms/op 17.771 ms/op 1.13
phase0 processRegistryUpdates - 250000 normalcase 6.3470 us/op 6.4080 us/op 0.99
phase0 processRegistryUpdates - 250000 badcase_full_deposits 295.73 us/op 291.27 us/op 1.02
phase0 processRegistryUpdates - 250000 worstcase 0.5 112.10 ms/op 122.79 ms/op 0.91
altair processRewardsAndPenalties - 250000 normalcase 41.685 ms/op 40.824 ms/op 1.02
altair processRewardsAndPenalties - 250000 worstcase 45.293 ms/op 43.251 ms/op 1.05
phase0 getAttestationDeltas - 250000 normalcase 6.2833 ms/op 8.8196 ms/op 0.71
phase0 getAttestationDeltas - 250000 worstcase 6.4114 ms/op 7.7521 ms/op 0.83
phase0 processSlashings - 250000 worstcase 84.177 us/op 96.501 us/op 0.87
altair processSyncCommitteeUpdates - 250000 116.83 ms/op 124.89 ms/op 0.94
BeaconState.hashTreeRoot - No change 451.00 ns/op 253.00 ns/op 1.78
BeaconState.hashTreeRoot - 1 full validator 114.23 us/op 103.54 us/op 1.10
BeaconState.hashTreeRoot - 32 full validator 1.0510 ms/op 935.33 us/op 1.12
BeaconState.hashTreeRoot - 512 full validator 9.9565 ms/op 10.655 ms/op 0.93
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 150.24 us/op 117.14 us/op 1.28
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.8088 ms/op 1.5863 ms/op 1.14
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 26.302 ms/op 19.666 ms/op 1.34
BeaconState.hashTreeRoot - 1 balances 106.65 us/op 103.77 us/op 1.03
BeaconState.hashTreeRoot - 32 balances 888.23 us/op 788.97 us/op 1.13
BeaconState.hashTreeRoot - 512 balances 10.355 ms/op 7.7002 ms/op 1.34
BeaconState.hashTreeRoot - 250000 balances 175.99 ms/op 140.22 ms/op 1.26
aggregationBits - 2048 els - zipIndexesInBitList 25.922 us/op 25.749 us/op 1.01
byteArrayEquals 32 47.748 ns/op 56.671 ns/op 0.84
Buffer.compare 32 15.719 ns/op 16.769 ns/op 0.94
byteArrayEquals 1024 1.2693 us/op 1.5667 us/op 0.81
Buffer.compare 1024 23.204 ns/op 24.858 ns/op 0.93
byteArrayEquals 16384 19.840 us/op 24.895 us/op 0.80
Buffer.compare 16384 199.66 ns/op 201.45 ns/op 0.99
byteArrayEquals 123687377 158.63 ms/op 189.53 ms/op 0.84
Buffer.compare 123687377 6.3090 ms/op 7.5462 ms/op 0.84
byteArrayEquals 32 - diff last byte 46.480 ns/op 52.023 ns/op 0.89
Buffer.compare 32 - diff last byte 15.258 ns/op 16.787 ns/op 0.91
byteArrayEquals 1024 - diff last byte 1.2421 us/op 1.5746 us/op 0.79
Buffer.compare 1024 - diff last byte 23.897 ns/op 25.252 ns/op 0.95
byteArrayEquals 16384 - diff last byte 19.703 us/op 25.054 us/op 0.79
Buffer.compare 16384 - diff last byte 209.09 ns/op 199.11 ns/op 1.05
byteArrayEquals 123687377 - diff last byte 155.21 ms/op 188.94 ms/op 0.82
Buffer.compare 123687377 - diff last byte 7.7383 ms/op 7.6602 ms/op 1.01
byteArrayEquals 32 - random bytes 5.0720 ns/op 5.1700 ns/op 0.98
Buffer.compare 32 - random bytes 16.092 ns/op 17.043 ns/op 0.94
byteArrayEquals 1024 - random bytes 5.1280 ns/op 5.2340 ns/op 0.98
Buffer.compare 1024 - random bytes 15.913 ns/op 17.171 ns/op 0.93
byteArrayEquals 16384 - random bytes 5.0910 ns/op 5.2030 ns/op 0.98
Buffer.compare 16384 - random bytes 15.956 ns/op 17.691 ns/op 0.90
byteArrayEquals 123687377 - random bytes 8.1800 ns/op 6.7400 ns/op 1.21
Buffer.compare 123687377 - random bytes 19.120 ns/op 19.680 ns/op 0.97
regular array get 100000 times 31.917 us/op 41.077 us/op 0.78
wrappedArray get 100000 times 31.726 us/op 33.447 us/op 0.95
arrayWithProxy get 100000 times 11.414 ms/op 14.144 ms/op 0.81
ssz.Root.equals 44.956 ns/op 46.300 ns/op 0.97
byteArrayEquals 43.902 ns/op 45.831 ns/op 0.96
Buffer.compare 9.1950 ns/op 10.682 ns/op 0.86
shuffle list - 16384 els 5.5747 ms/op 6.2665 ms/op 0.89
shuffle list - 250000 els 84.177 ms/op 93.423 ms/op 0.90
processSlot - 1 slots 21.022 us/op 13.415 us/op 1.57
processSlot - 32 slots 5.2921 ms/op 3.2387 ms/op 1.63
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 53.290 ms/op 35.511 ms/op 1.50
getCommitteeAssignments - req 1 vs - 250000 vc 1.8536 ms/op 2.1018 ms/op 0.88
getCommitteeAssignments - req 100 vs - 250000 vc 3.5508 ms/op 4.0816 ms/op 0.87
getCommitteeAssignments - req 1000 vs - 250000 vc 3.8390 ms/op 4.4360 ms/op 0.87
findModifiedValidators - 10000 modified validators 450.72 ms/op 240.61 ms/op 1.87
findModifiedValidators - 1000 modified validators 262.01 ms/op 154.86 ms/op 1.69
findModifiedValidators - 100 modified validators 164.27 ms/op 141.02 ms/op 1.16
findModifiedValidators - 10 modified validators 173.08 ms/op 138.34 ms/op 1.25
findModifiedValidators - 1 modified validators 164.79 ms/op 157.80 ms/op 1.04
findModifiedValidators - no difference 226.56 ms/op 141.95 ms/op 1.60
compare ViewDUs 3.8709 s/op 3.3910 s/op 1.14
compare each validator Uint8Array 1.8929 s/op 1.3887 s/op 1.36
compare ViewDU to Uint8Array 871.66 ms/op 1.0282 s/op 0.85
migrate state 1000000 validators, 24 modified, 0 new 835.64 ms/op 825.89 ms/op 1.01
migrate state 1000000 validators, 1700 modified, 1000 new 1.0077 s/op 1.0503 s/op 0.96
migrate state 1000000 validators, 3400 modified, 2000 new 1.2038 s/op 1.2945 s/op 0.93
migrate state 1500000 validators, 24 modified, 0 new 860.73 ms/op 867.25 ms/op 0.99
migrate state 1500000 validators, 1700 modified, 1000 new 1.0269 s/op 1.0596 s/op 0.97
migrate state 1500000 validators, 3400 modified, 2000 new 1.1564 s/op 1.2369 s/op 0.93
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 6.4300 ns/op 4.4100 ns/op 1.46
state getBlockRootAtSlot - 250000 vs - 7PWei 553.66 ns/op 741.99 ns/op 0.75
computeProposers - vc 250000 6.2038 ms/op 7.0756 ms/op 0.88
computeEpochShuffling - vc 250000 78.986 ms/op 88.995 ms/op 0.89
getNextSyncCommittee - vc 250000 104.36 ms/op 112.79 ms/op 0.93
computeSigningRoot for AttestationData 20.057 us/op 24.471 us/op 0.82
hash AttestationData serialized data then Buffer.toString(base64) 1.2026 us/op 1.5181 us/op 0.79
toHexString serialized data 756.29 ns/op 852.79 ns/op 0.89
Buffer.toString(base64) 127.32 ns/op 183.89 ns/op 0.69
nodejs block root to RootHex using toHex 109.18 ns/op 140.29 ns/op 0.78
nodejs block root to RootHex using toRootHex 67.808 ns/op 86.734 ns/op 0.78
browser block root to RootHex using the deprecated toHexString 191.79 ns/op 221.43 ns/op 0.87
browser block root to RootHex using toHex 153.33 ns/op 176.97 ns/op 0.87
browser block root to RootHex using toRootHex 141.12 ns/op 157.09 ns/op 0.90

by benchmarkbot/action

@ensi321 ensi321 merged commit 94b6c5b into unstable Sep 27, 2024
20 checks passed
@ensi321 ensi321 deleted the nflaig/use-signing-slot branch September 27, 2024 18:39
@wemeetagain
Copy link
Member

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