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

feat: add mekong network option #7212

Merged
merged 1 commit into from
Nov 1, 2024
Merged

feat: add mekong network option #7212

merged 1 commit into from
Nov 1, 2024

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Oct 31, 2024

Add network option --network mekong to join the new public electra devnet https://mekong.ethpandaops.io/.

@nflaig nflaig requested a review from a team as a code owner October 31, 2024 14:42
Copy link
Contributor

github-actions bot commented Oct 31, 2024

Performance Report

✔️ no performance regression detected

🚀🚀 Significant benchmark improvement detected

Benchmark suite Current: 2108a3a Previous: 99c0dcb Ratio
forkChoice updateHead vc 600000 bc 64 eq 300000 18.267 ms/op 64.820 ms/op 0.28
Full benchmark results
Benchmark suite Current: 2108a3a Previous: 99c0dcb Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.1200 ms/op 2.1456 ms/op 0.99
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 57.226 us/op 115.26 us/op 0.50
BLS verify - blst 926.60 us/op 1.0433 ms/op 0.89
BLS verifyMultipleSignatures 3 - blst 1.3689 ms/op 1.4068 ms/op 0.97
BLS verifyMultipleSignatures 8 - blst 2.1889 ms/op 1.7708 ms/op 1.24
BLS verifyMultipleSignatures 32 - blst 5.0652 ms/op 5.9442 ms/op 0.85
BLS verifyMultipleSignatures 64 - blst 9.4510 ms/op 9.6768 ms/op 0.98
BLS verifyMultipleSignatures 128 - blst 17.689 ms/op 18.633 ms/op 0.95
BLS deserializing 10000 signatures 702.89 ms/op 727.12 ms/op 0.97
BLS deserializing 100000 signatures 8.0215 s/op 7.6065 s/op 1.05
BLS verifyMultipleSignatures - same message - 3 - blst 1.1057 ms/op 1.2148 ms/op 0.91
BLS verifyMultipleSignatures - same message - 8 - blst 1.2946 ms/op 1.3768 ms/op 0.94
BLS verifyMultipleSignatures - same message - 32 - blst 2.0949 ms/op 1.9893 ms/op 1.05
BLS verifyMultipleSignatures - same message - 64 - blst 3.1331 ms/op 3.3832 ms/op 0.93
BLS verifyMultipleSignatures - same message - 128 - blst 5.2019 ms/op 5.2214 ms/op 1.00
BLS aggregatePubkeys 32 - blst 21.964 us/op 22.602 us/op 0.97
BLS aggregatePubkeys 128 - blst 74.739 us/op 80.588 us/op 0.93
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 99.450 ms/op 110.75 ms/op 0.90
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 62.229 ms/op 104.52 ms/op 0.60
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 54.077 ms/op 53.237 ms/op 1.02
getSlashingsAndExits - default max 177.30 us/op 175.32 us/op 1.01
getSlashingsAndExits - 2k 463.54 us/op 467.67 us/op 0.99
proposeBlockBody type=full, size=empty 8.2711 ms/op 9.3697 ms/op 0.88
isKnown best case - 1 super set check 650.00 ns/op 911.00 ns/op 0.71
isKnown normal case - 2 super set checks 733.00 ns/op 862.00 ns/op 0.85
isKnown worse case - 16 super set checks 658.00 ns/op 824.00 ns/op 0.80
InMemoryCheckpointStateCache - add get delete 4.4130 us/op 4.8490 us/op 0.91
updateUnfinalizedPubkeys - updating 10 pubkeys 1.8007 ms/op 1.5828 ms/op 1.14
updateUnfinalizedPubkeys - updating 100 pubkeys 6.1412 ms/op 4.8689 ms/op 1.26
updateUnfinalizedPubkeys - updating 1000 pubkeys 67.851 ms/op 60.626 ms/op 1.12
validate api signedAggregateAndProof - struct 1.8343 ms/op 1.5353 ms/op 1.19
validate gossip signedAggregateAndProof - struct 1.8550 ms/op 1.4998 ms/op 1.24
batch validate gossip attestation - vc 640000 - chunk 32 158.04 us/op 163.25 us/op 0.97
batch validate gossip attestation - vc 640000 - chunk 64 138.47 us/op 144.96 us/op 0.96
batch validate gossip attestation - vc 640000 - chunk 128 132.68 us/op 152.07 us/op 0.87
batch validate gossip attestation - vc 640000 - chunk 256 134.50 us/op 140.46 us/op 0.96
pickEth1Vote - no votes 1.2573 ms/op 1.3447 ms/op 0.93
pickEth1Vote - max votes 8.5954 ms/op 10.904 ms/op 0.79
pickEth1Vote - Eth1Data hashTreeRoot value x2048 17.304 ms/op 22.638 ms/op 0.76
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 27.639 ms/op 32.471 ms/op 0.85
pickEth1Vote - Eth1Data fastSerialize value x2048 610.59 us/op 688.82 us/op 0.89
pickEth1Vote - Eth1Data fastSerialize tree x2048 5.1050 ms/op 4.2205 ms/op 1.21
bytes32 toHexString 744.00 ns/op 892.00 ns/op 0.83
bytes32 Buffer.toString(hex) 285.00 ns/op 289.00 ns/op 0.99
bytes32 Buffer.toString(hex) from Uint8Array 494.00 ns/op 550.00 ns/op 0.90
bytes32 Buffer.toString(hex) + 0x 286.00 ns/op 295.00 ns/op 0.97
Object access 1 prop 0.20500 ns/op 0.23000 ns/op 0.89
Map access 1 prop 0.15600 ns/op 0.16100 ns/op 0.97
Object get x1000 6.5720 ns/op 6.4530 ns/op 1.02
Map get x1000 6.7410 ns/op 8.7560 ns/op 0.77
Object set x1000 53.666 ns/op 56.969 ns/op 0.94
Map set x1000 36.504 ns/op 39.669 ns/op 0.92
Return object 10000 times 0.32030 ns/op 0.32550 ns/op 0.98
Throw Error 10000 times 3.8566 us/op 3.5983 us/op 1.07
toHex 187.86 ns/op 202.14 ns/op 0.93
Buffer.from 178.02 ns/op 188.28 ns/op 0.95
shared Buffer 107.37 ns/op 124.56 ns/op 0.86
fastMsgIdFn sha256 / 200 bytes 2.5070 us/op 2.6770 us/op 0.94
fastMsgIdFn h32 xxhash / 200 bytes 326.00 ns/op 356.00 ns/op 0.92
fastMsgIdFn h64 xxhash / 200 bytes 299.00 ns/op 303.00 ns/op 0.99
fastMsgIdFn sha256 / 1000 bytes 8.0660 us/op 8.3070 us/op 0.97
fastMsgIdFn h32 xxhash / 1000 bytes 445.00 ns/op 476.00 ns/op 0.93
fastMsgIdFn h64 xxhash / 1000 bytes 366.00 ns/op 413.00 ns/op 0.89
fastMsgIdFn sha256 / 10000 bytes 68.398 us/op 70.615 us/op 0.97
fastMsgIdFn h32 xxhash / 10000 bytes 2.0100 us/op 2.0680 us/op 0.97
fastMsgIdFn h64 xxhash / 10000 bytes 1.3350 us/op 1.3380 us/op 1.00
send data - 1000 256B messages 18.879 ms/op 17.130 ms/op 1.10
send data - 1000 512B messages 22.330 ms/op 20.693 ms/op 1.08
send data - 1000 1024B messages 29.560 ms/op 31.872 ms/op 0.93
send data - 1000 1200B messages 32.058 ms/op 31.540 ms/op 1.02
send data - 1000 2048B messages 38.107 ms/op 43.710 ms/op 0.87
send data - 1000 4096B messages 35.866 ms/op 40.187 ms/op 0.89
send data - 1000 16384B messages 74.935 ms/op 94.609 ms/op 0.79
send data - 1000 65536B messages 246.90 ms/op 289.81 ms/op 0.85
enrSubnets - fastDeserialize 64 bits 1.4200 us/op 1.8490 us/op 0.77
enrSubnets - ssz BitVector 64 bits 474.00 ns/op 607.00 ns/op 0.78
enrSubnets - fastDeserialize 4 bits 204.00 ns/op 258.00 ns/op 0.79
enrSubnets - ssz BitVector 4 bits 483.00 ns/op 579.00 ns/op 0.83
prioritizePeers score -10:0 att 32-0.1 sync 2-0 307.14 us/op 290.41 us/op 1.06
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 292.70 us/op 295.96 us/op 0.99
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 571.10 us/op 429.75 us/op 1.33
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 624.77 us/op 533.15 us/op 1.17
prioritizePeers score 0:0 att 64-1 sync 4-1 998.06 us/op 1.2594 ms/op 0.79
array of 16000 items push then shift 1.8299 us/op 1.9987 us/op 0.92
LinkedList of 16000 items push then shift 9.9700 ns/op 12.844 ns/op 0.78
array of 16000 items push then pop 154.43 ns/op 182.48 ns/op 0.85
LinkedList of 16000 items push then pop 8.6200 ns/op 10.656 ns/op 0.81
array of 24000 items push then shift 2.6431 us/op 3.0656 us/op 0.86
LinkedList of 24000 items push then shift 9.8740 ns/op 11.939 ns/op 0.83
array of 24000 items push then pop 193.66 ns/op 264.01 ns/op 0.73
LinkedList of 24000 items push then pop 8.2430 ns/op 12.002 ns/op 0.69
intersect bitArray bitLen 8 6.7200 ns/op 8.5540 ns/op 0.79
intersect array and set length 8 75.601 ns/op 124.11 ns/op 0.61
intersect bitArray bitLen 128 31.513 ns/op 40.862 ns/op 0.77
intersect array and set length 128 907.08 ns/op 1.2678 us/op 0.72
bitArray.getTrueBitIndexes() bitLen 128 2.3880 us/op 3.0970 us/op 0.77
bitArray.getTrueBitIndexes() bitLen 248 3.7870 us/op 5.6210 us/op 0.67
bitArray.getTrueBitIndexes() bitLen 512 9.6330 us/op 13.223 us/op 0.73
Buffer.concat 32 items 1.0980 us/op 1.4040 us/op 0.78
Uint8Array.set 32 items 1.7870 us/op 2.5500 us/op 0.70
Buffer.copy 2.0330 us/op 3.1520 us/op 0.64
Uint8Array.set - with subarray 4.2580 us/op 4.8900 us/op 0.87
Uint8Array.set - without subarray 2.4170 us/op 2.1300 us/op 1.13
getUint32 - dataview 311.00 ns/op 368.00 ns/op 0.85
getUint32 - manual 280.00 ns/op 369.00 ns/op 0.76
Set add up to 64 items then delete first 2.8136 us/op 3.6886 us/op 0.76
OrderedSet add up to 64 items then delete first 4.1886 us/op 5.8047 us/op 0.72
Set add up to 64 items then delete last 3.5036 us/op 4.1512 us/op 0.84
OrderedSet add up to 64 items then delete last 4.4500 us/op 6.9606 us/op 0.64
Set add up to 64 items then delete middle 2.9896 us/op 3.8504 us/op 0.78
OrderedSet add up to 64 items then delete middle 6.4549 us/op 10.298 us/op 0.63
Set add up to 128 items then delete first 6.3099 us/op 10.383 us/op 0.61
OrderedSet add up to 128 items then delete first 10.933 us/op 15.641 us/op 0.70
Set add up to 128 items then delete last 6.6699 us/op 9.3502 us/op 0.71
OrderedSet add up to 128 items then delete last 10.307 us/op 15.010 us/op 0.69
Set add up to 128 items then delete middle 6.8454 us/op 8.9745 us/op 0.76
OrderedSet add up to 128 items then delete middle 17.300 us/op 23.369 us/op 0.74
Set add up to 256 items then delete first 13.351 us/op 17.724 us/op 0.75
OrderedSet add up to 256 items then delete first 22.056 us/op 28.397 us/op 0.78
Set add up to 256 items then delete last 13.975 us/op 16.271 us/op 0.86
OrderedSet add up to 256 items then delete last 20.036 us/op 27.012 us/op 0.74
Set add up to 256 items then delete middle 13.155 us/op 17.861 us/op 0.74
OrderedSet add up to 256 items then delete middle 48.578 us/op 63.710 us/op 0.76
transfer serialized Status (84 B) 1.6210 us/op 1.9800 us/op 0.82
copy serialized Status (84 B) 1.4220 us/op 1.7480 us/op 0.81
transfer serialized SignedVoluntaryExit (112 B) 1.7780 us/op 1.9600 us/op 0.91
copy serialized SignedVoluntaryExit (112 B) 1.5570 us/op 1.8340 us/op 0.85
transfer serialized ProposerSlashing (416 B) 2.3250 us/op 2.1460 us/op 1.08
copy serialized ProposerSlashing (416 B) 1.8880 us/op 2.2740 us/op 0.83
transfer serialized Attestation (485 B) 1.7510 us/op 2.6180 us/op 0.67
copy serialized Attestation (485 B) 1.6240 us/op 2.0520 us/op 0.79
transfer serialized AttesterSlashing (33232 B) 1.8690 us/op 2.5440 us/op 0.73
copy serialized AttesterSlashing (33232 B) 6.6760 us/op 11.763 us/op 0.57
transfer serialized Small SignedBeaconBlock (128000 B) 2.5500 us/op 2.6800 us/op 0.95
copy serialized Small SignedBeaconBlock (128000 B) 20.505 us/op 35.566 us/op 0.58
transfer serialized Avg SignedBeaconBlock (200000 B) 3.6190 us/op 3.7790 us/op 0.96
copy serialized Avg SignedBeaconBlock (200000 B) 33.925 us/op 54.309 us/op 0.62
transfer serialized BlobsSidecar (524380 B) 3.8120 us/op 4.8520 us/op 0.79
copy serialized BlobsSidecar (524380 B) 119.14 us/op 140.19 us/op 0.85
transfer serialized Big SignedBeaconBlock (1000000 B) 3.4720 us/op 6.1380 us/op 0.57
copy serialized Big SignedBeaconBlock (1000000 B) 257.72 us/op 313.42 us/op 0.82
pass gossip attestations to forkchoice per slot 2.9758 ms/op 3.7560 ms/op 0.79
forkChoice updateHead vc 100000 bc 64 eq 0 622.82 us/op 926.74 us/op 0.67
forkChoice updateHead vc 600000 bc 64 eq 0 4.4483 ms/op 6.5529 ms/op 0.68
forkChoice updateHead vc 1000000 bc 64 eq 0 5.7766 ms/op 8.7568 ms/op 0.66
forkChoice updateHead vc 600000 bc 320 eq 0 3.0925 ms/op 4.8192 ms/op 0.64
forkChoice updateHead vc 600000 bc 1200 eq 0 3.6869 ms/op 5.2087 ms/op 0.71
forkChoice updateHead vc 600000 bc 7200 eq 0 3.9626 ms/op 7.5074 ms/op 0.53
forkChoice updateHead vc 600000 bc 64 eq 1000 10.994 ms/op 13.385 ms/op 0.82
forkChoice updateHead vc 600000 bc 64 eq 10000 10.611 ms/op 12.063 ms/op 0.88
forkChoice updateHead vc 600000 bc 64 eq 300000 18.267 ms/op 64.820 ms/op 0.28
computeDeltas 500000 validators 300 proto nodes 4.9525 ms/op 7.1633 ms/op 0.69
computeDeltas 500000 validators 1200 proto nodes 4.9019 ms/op 7.2310 ms/op 0.68
computeDeltas 500000 validators 7200 proto nodes 4.1411 ms/op 6.8158 ms/op 0.61
computeDeltas 750000 validators 300 proto nodes 6.1833 ms/op 10.339 ms/op 0.60
computeDeltas 750000 validators 1200 proto nodes 6.3291 ms/op 12.154 ms/op 0.52
computeDeltas 750000 validators 7200 proto nodes 6.4324 ms/op 11.719 ms/op 0.55
computeDeltas 1400000 validators 300 proto nodes 11.588 ms/op 20.873 ms/op 0.56
computeDeltas 1400000 validators 1200 proto nodes 11.603 ms/op 19.790 ms/op 0.59
computeDeltas 1400000 validators 7200 proto nodes 11.968 ms/op 17.753 ms/op 0.67
computeDeltas 2100000 validators 300 proto nodes 19.427 ms/op 30.098 ms/op 0.65
computeDeltas 2100000 validators 1200 proto nodes 19.425 ms/op 27.791 ms/op 0.70
computeDeltas 2100000 validators 7200 proto nodes 19.846 ms/op 24.099 ms/op 0.82
altair processAttestation - 250000 vs - 7PWei normalcase 2.3552 ms/op 2.7713 ms/op 0.85
altair processAttestation - 250000 vs - 7PWei worstcase 3.1647 ms/op 3.4056 ms/op 0.93
altair processAttestation - setStatus - 1/6 committees join 98.973 us/op 108.27 us/op 0.91
altair processAttestation - setStatus - 1/3 committees join 207.91 us/op 192.02 us/op 1.08
altair processAttestation - setStatus - 1/2 committees join 272.62 us/op 266.16 us/op 1.02
altair processAttestation - setStatus - 2/3 committees join 415.55 us/op 336.47 us/op 1.24
altair processAttestation - setStatus - 4/5 committees join 611.17 us/op 481.94 us/op 1.27
altair processAttestation - setStatus - 100% committees join 627.40 us/op 622.27 us/op 1.01
altair processBlock - 250000 vs - 7PWei normalcase 7.0457 ms/op 6.6810 ms/op 1.05
altair processBlock - 250000 vs - 7PWei normalcase hashState 30.107 ms/op 26.908 ms/op 1.12
altair processBlock - 250000 vs - 7PWei worstcase 41.743 ms/op 38.902 ms/op 1.07
altair processBlock - 250000 vs - 7PWei worstcase hashState 91.059 ms/op 77.775 ms/op 1.17
phase0 processBlock - 250000 vs - 7PWei normalcase 2.4180 ms/op 2.3347 ms/op 1.04
phase0 processBlock - 250000 vs - 7PWei worstcase 25.688 ms/op 24.837 ms/op 1.03
altair processEth1Data - 250000 vs - 7PWei normalcase 525.67 us/op 413.29 us/op 1.27
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 8.7120 us/op 6.4390 us/op 1.35
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 55.503 us/op 41.179 us/op 1.35
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 13.483 us/op 13.355 us/op 1.01
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 10.248 us/op 7.8770 us/op 1.30
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 198.25 us/op 192.78 us/op 1.03
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.2552 ms/op 1.1832 ms/op 1.06
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.7011 ms/op 1.9279 ms/op 0.88
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.6150 ms/op 1.6273 ms/op 0.99
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.7191 ms/op 4.5951 ms/op 1.03
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.9137 ms/op 2.6024 ms/op 0.74
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.6129 ms/op 5.6538 ms/op 0.82
Tree 40 250000 create 394.92 ms/op 271.94 ms/op 1.45
Tree 40 250000 get(125000) 168.38 ns/op 159.66 ns/op 1.05
Tree 40 250000 set(125000) 1.0124 us/op 777.71 ns/op 1.30
Tree 40 250000 toArray() 27.278 ms/op 22.109 ms/op 1.23
Tree 40 250000 iterate all - toArray() + loop 23.869 ms/op 22.824 ms/op 1.05
Tree 40 250000 iterate all - get(i) 63.022 ms/op 78.924 ms/op 0.80
Array 250000 create 4.3176 ms/op 5.3361 ms/op 0.81
Array 250000 clone - spread 1.8878 ms/op 2.1306 ms/op 0.89
Array 250000 get(125000) 0.46900 ns/op 0.63000 ns/op 0.74
Array 250000 set(125000) 0.47800 ns/op 0.63600 ns/op 0.75
Array 250000 iterate all - loop 112.54 us/op 107.83 us/op 1.04
phase0 afterProcessEpoch - 250000 vs - 7PWei 57.509 ms/op 58.314 ms/op 0.99
Array.fill - length 1000000 6.1526 ms/op 9.7203 ms/op 0.63
Array push - length 1000000 25.647 ms/op 33.613 ms/op 0.76
Array.get 0.29655 ns/op 0.40282 ns/op 0.74
Uint8Array.get 0.46742 ns/op 0.50016 ns/op 0.93
phase0 beforeProcessEpoch - 250000 vs - 7PWei 24.239 ms/op 28.811 ms/op 0.84
altair processEpoch - mainnet_e81889 373.45 ms/op 424.05 ms/op 0.88
mainnet_e81889 - altair beforeProcessEpoch 32.345 ms/op 33.481 ms/op 0.97
mainnet_e81889 - altair processJustificationAndFinalization 27.472 us/op 36.807 us/op 0.75
mainnet_e81889 - altair processInactivityUpdates 8.8887 ms/op 13.098 ms/op 0.68
mainnet_e81889 - altair processRewardsAndPenalties 56.452 ms/op 79.862 ms/op 0.71
mainnet_e81889 - altair processRegistryUpdates 3.9730 us/op 8.4420 us/op 0.47
mainnet_e81889 - altair processSlashings 877.00 ns/op 1.6990 us/op 0.52
mainnet_e81889 - altair processEth1DataReset 735.00 ns/op 1.1680 us/op 0.63
mainnet_e81889 - altair processEffectiveBalanceUpdates 2.4329 ms/op 3.4757 ms/op 0.70
mainnet_e81889 - altair processSlashingsReset 6.6700 us/op 7.3990 us/op 0.90
mainnet_e81889 - altair processRandaoMixesReset 11.453 us/op 8.8050 us/op 1.30
mainnet_e81889 - altair processHistoricalRootsUpdate 1.3610 us/op 1.2310 us/op 1.11
mainnet_e81889 - altair processParticipationFlagUpdates 5.6790 us/op 6.4720 us/op 0.88
mainnet_e81889 - altair processSyncCommitteeUpdates 1.1330 us/op 1.3440 us/op 0.84
mainnet_e81889 - altair afterProcessEpoch 54.867 ms/op 56.945 ms/op 0.96
capella processEpoch - mainnet_e217614 1.3689 s/op 1.2912 s/op 1.06
mainnet_e217614 - capella beforeProcessEpoch 89.608 ms/op 109.35 ms/op 0.82
mainnet_e217614 - capella processJustificationAndFinalization 22.710 us/op 33.119 us/op 0.69
mainnet_e217614 - capella processInactivityUpdates 19.025 ms/op 24.977 ms/op 0.76
mainnet_e217614 - capella processRewardsAndPenalties 238.40 ms/op 328.07 ms/op 0.73
mainnet_e217614 - capella processRegistryUpdates 20.092 us/op 27.745 us/op 0.72
mainnet_e217614 - capella processSlashings 611.00 ns/op 1.5160 us/op 0.40
mainnet_e217614 - capella processEth1DataReset 585.00 ns/op 1.1370 us/op 0.51
mainnet_e217614 - capella processEffectiveBalanceUpdates 18.210 ms/op 22.803 ms/op 0.80
mainnet_e217614 - capella processSlashingsReset 4.5530 us/op 7.1910 us/op 0.63
mainnet_e217614 - capella processRandaoMixesReset 6.7520 us/op 11.267 us/op 0.60
mainnet_e217614 - capella processHistoricalRootsUpdate 1.0470 us/op 1.1370 us/op 0.92
mainnet_e217614 - capella processParticipationFlagUpdates 4.3210 us/op 3.5030 us/op 1.23
mainnet_e217614 - capella afterProcessEpoch 131.32 ms/op 139.40 ms/op 0.94
phase0 processEpoch - mainnet_e58758 440.69 ms/op 451.32 ms/op 0.98
mainnet_e58758 - phase0 beforeProcessEpoch 107.02 ms/op 130.70 ms/op 0.82
mainnet_e58758 - phase0 processJustificationAndFinalization 30.843 us/op 30.714 us/op 1.00
mainnet_e58758 - phase0 processRewardsAndPenalties 47.653 ms/op 50.459 ms/op 0.94
mainnet_e58758 - phase0 processRegistryUpdates 9.3300 us/op 16.891 us/op 0.55
mainnet_e58758 - phase0 processSlashings 593.00 ns/op 892.00 ns/op 0.66
mainnet_e58758 - phase0 processEth1DataReset 726.00 ns/op 929.00 ns/op 0.78
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.4856 ms/op 2.7740 ms/op 0.54
mainnet_e58758 - phase0 processSlashingsReset 6.5350 us/op 6.4970 us/op 1.01
mainnet_e58758 - phase0 processRandaoMixesReset 5.4690 us/op 11.555 us/op 0.47
mainnet_e58758 - phase0 processHistoricalRootsUpdate 453.00 ns/op 1.3940 us/op 0.32
mainnet_e58758 - phase0 processParticipationRecordUpdates 6.6200 us/op 10.065 us/op 0.66
mainnet_e58758 - phase0 afterProcessEpoch 46.124 ms/op 48.401 ms/op 0.95
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.9165 ms/op 2.7612 ms/op 0.69
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 3.6094 ms/op 4.9306 ms/op 0.73
altair processInactivityUpdates - 250000 normalcase 20.678 ms/op 25.769 ms/op 0.80
altair processInactivityUpdates - 250000 worstcase 21.909 ms/op 22.354 ms/op 0.98
phase0 processRegistryUpdates - 250000 normalcase 8.0420 us/op 13.759 us/op 0.58
phase0 processRegistryUpdates - 250000 badcase_full_deposits 309.13 us/op 333.66 us/op 0.93
phase0 processRegistryUpdates - 250000 worstcase 0.5 118.68 ms/op 129.54 ms/op 0.92
altair processRewardsAndPenalties - 250000 normalcase 46.883 ms/op 44.126 ms/op 1.06
altair processRewardsAndPenalties - 250000 worstcase 45.893 ms/op 48.337 ms/op 0.95
phase0 getAttestationDeltas - 250000 normalcase 8.7847 ms/op 9.1545 ms/op 0.96
phase0 getAttestationDeltas - 250000 worstcase 8.3582 ms/op 8.6060 ms/op 0.97
phase0 processSlashings - 250000 worstcase 113.70 us/op 128.90 us/op 0.88
altair processSyncCommitteeUpdates - 250000 132.08 ms/op 143.25 ms/op 0.92
BeaconState.hashTreeRoot - No change 374.00 ns/op 389.00 ns/op 0.96
BeaconState.hashTreeRoot - 1 full validator 108.63 us/op 164.76 us/op 0.66
BeaconState.hashTreeRoot - 32 full validator 1.5507 ms/op 1.6811 ms/op 0.92
BeaconState.hashTreeRoot - 512 full validator 11.716 ms/op 11.868 ms/op 0.99
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 178.02 us/op 191.09 us/op 0.93
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.1998 ms/op 2.4586 ms/op 0.89
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 24.791 ms/op 28.325 ms/op 0.88
BeaconState.hashTreeRoot - 1 balances 105.30 us/op 108.49 us/op 0.97
BeaconState.hashTreeRoot - 32 balances 1.2520 ms/op 1.2617 ms/op 0.99
BeaconState.hashTreeRoot - 512 balances 7.8219 ms/op 9.6182 ms/op 0.81
BeaconState.hashTreeRoot - 250000 balances 178.10 ms/op 207.79 ms/op 0.86
aggregationBits - 2048 els - zipIndexesInBitList 26.010 us/op 39.966 us/op 0.65
byteArrayEquals 32 53.719 ns/op 56.731 ns/op 0.95
Buffer.compare 32 19.993 ns/op 17.916 ns/op 1.12
byteArrayEquals 1024 1.6373 us/op 2.0709 us/op 0.79
Buffer.compare 1024 28.486 ns/op 26.526 ns/op 1.07
byteArrayEquals 16384 27.306 us/op 26.320 us/op 1.04
Buffer.compare 16384 204.01 ns/op 213.53 ns/op 0.96
byteArrayEquals 123687377 198.38 ms/op 203.14 ms/op 0.98
Buffer.compare 123687377 7.1048 ms/op 9.8828 ms/op 0.72
byteArrayEquals 32 - diff last byte 53.708 ns/op 54.387 ns/op 0.99
Buffer.compare 32 - diff last byte 19.859 ns/op 18.189 ns/op 1.09
byteArrayEquals 1024 - diff last byte 1.6139 us/op 1.6242 us/op 0.99
Buffer.compare 1024 - diff last byte 26.698 ns/op 26.704 ns/op 1.00
byteArrayEquals 16384 - diff last byte 25.352 us/op 25.715 us/op 0.99
Buffer.compare 16384 - diff last byte 195.48 ns/op 208.37 ns/op 0.94
byteArrayEquals 123687377 - diff last byte 192.60 ms/op 190.62 ms/op 1.01
Buffer.compare 123687377 - diff last byte 10.134 ms/op 7.2061 ms/op 1.41
byteArrayEquals 32 - random bytes 5.4840 ns/op 5.0500 ns/op 1.09
Buffer.compare 32 - random bytes 19.618 ns/op 16.779 ns/op 1.17
byteArrayEquals 1024 - random bytes 5.4760 ns/op 4.9970 ns/op 1.10
Buffer.compare 1024 - random bytes 19.931 ns/op 16.758 ns/op 1.19
byteArrayEquals 16384 - random bytes 5.4580 ns/op 5.0110 ns/op 1.09
Buffer.compare 16384 - random bytes 19.600 ns/op 16.760 ns/op 1.17
byteArrayEquals 123687377 - random bytes 6.9600 ns/op 6.5200 ns/op 1.07
Buffer.compare 123687377 - random bytes 21.470 ns/op 19.980 ns/op 1.07
regular array get 100000 times 37.150 us/op 41.030 us/op 0.91
wrappedArray get 100000 times 48.739 us/op 32.004 us/op 1.52
arrayWithProxy get 100000 times 18.663 ms/op 13.317 ms/op 1.40
ssz.Root.equals 56.364 ns/op 44.825 ns/op 1.26
byteArrayEquals 49.521 ns/op 44.169 ns/op 1.12
Buffer.compare 12.879 ns/op 10.159 ns/op 1.27
processSlot - 1 slots 22.558 us/op 16.388 us/op 1.38
processSlot - 32 slots 4.1472 ms/op 2.4700 ms/op 1.68
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 47.313 ms/op 35.780 ms/op 1.32
getCommitteeAssignments - req 1 vs - 250000 vc 2.2059 ms/op 2.0997 ms/op 1.05
getCommitteeAssignments - req 100 vs - 250000 vc 4.2499 ms/op 4.1065 ms/op 1.03
getCommitteeAssignments - req 1000 vs - 250000 vc 4.5962 ms/op 4.4548 ms/op 1.03
findModifiedValidators - 10000 modified validators 467.95 ms/op 266.76 ms/op 1.75
findModifiedValidators - 1000 modified validators 338.30 ms/op 175.58 ms/op 1.93
findModifiedValidators - 100 modified validators 360.50 ms/op 152.81 ms/op 2.36
findModifiedValidators - 10 modified validators 289.21 ms/op 161.86 ms/op 1.79
findModifiedValidators - 1 modified validators 299.98 ms/op 149.51 ms/op 2.01
findModifiedValidators - no difference 313.84 ms/op 158.60 ms/op 1.98
compare ViewDUs 5.8752 s/op 3.0660 s/op 1.92
compare each validator Uint8Array 1.7220 s/op 1.1377 s/op 1.51
compare ViewDU to Uint8Array 1.3048 s/op 1.0125 s/op 1.29
migrate state 1000000 validators, 24 modified, 0 new 983.09 ms/op 692.24 ms/op 1.42
migrate state 1000000 validators, 1700 modified, 1000 new 1.1998 s/op 985.16 ms/op 1.22
migrate state 1000000 validators, 3400 modified, 2000 new 1.4433 s/op 1.3268 s/op 1.09
migrate state 1500000 validators, 24 modified, 0 new 983.16 ms/op 876.70 ms/op 1.12
migrate state 1500000 validators, 1700 modified, 1000 new 1.1792 s/op 1.1889 s/op 0.99
migrate state 1500000 validators, 3400 modified, 2000 new 1.4587 s/op 1.5556 s/op 0.94
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.3700 ns/op 5.7000 ns/op 0.94
state getBlockRootAtSlot - 250000 vs - 7PWei 710.30 ns/op 1.1747 us/op 0.60
computeProposers - vc 250000 8.4701 ms/op 10.848 ms/op 0.78
computeEpochShuffling - vc 250000 44.587 ms/op 47.500 ms/op 0.94
getNextSyncCommittee - vc 250000 198.02 ms/op 175.59 ms/op 1.13
computeSigningRoot for AttestationData 29.941 us/op 27.645 us/op 1.08
hash AttestationData serialized data then Buffer.toString(base64) 2.0931 us/op 1.7332 us/op 1.21
toHexString serialized data 1.4626 us/op 1.2408 us/op 1.18
Buffer.toString(base64) 271.47 ns/op 228.16 ns/op 1.19
nodejs block root to RootHex using toHex 250.42 ns/op 193.76 ns/op 1.29
nodejs block root to RootHex using toRootHex 165.29 ns/op 114.98 ns/op 1.44
browser block root to RootHex using the deprecated toHexString 472.13 ns/op 343.80 ns/op 1.37
browser block root to RootHex using toHex 388.87 ns/op 250.03 ns/op 1.56
browser block root to RootHex using toRootHex 259.72 ns/op 178.71 ns/op 1.45

by benchmarkbot/action

Copy link
Contributor

@ensi321 ensi321 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@ensi321 ensi321 merged commit 794e5ef into unstable Nov 1, 2024
20 checks passed
@ensi321 ensi321 deleted the nflaig/mekong branch November 1, 2024 00:19
@philknows
Copy link
Member

We should probably include this with the RC for v1.23 @wemeetagain ? We likely won't be pushing a v1.24 for at least a couple weeks.

@nflaig nflaig mentioned this pull request Nov 7, 2024
matthewkeil pushed a commit that referenced this pull request Nov 7, 2024
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.23.0 🎉

wemeetagain added a commit that referenced this pull request Dec 20, 2024
* feat: add keymanager endpoint to retrieve proposer config (#7210)

* feat: add keymanager endpoint to retrieve proposer config

* Do not return empty builder config

* Check all builder proposer config values

* Fix settings builder config if undefined

* Fix builder config parsing

* Use ssz type to handle json serialization

Default parsing can't handle BigInt

* Revert "Use ssz type to handle json serialization"

This reverts commit 01fcea7.

* Fix boost factor json serialization

* Remove unused import

* Update test data

* Update proposer config test

* feat: add mekong network option (#7212)

* chore: fix import order with biome syntax (#7211)

Fix import order

* fix: consistently validate pubkey and throw 404 if not found (#7214)

* Throw error if pubkey is unknown when getting graffiti

* Consistently validate pubkey and throw 404 if not found

* fix: only return local keys from /eth/v1/keystores (#7215)

* fix: only return local keys from /eth/v1/keystores

* Fix fetching remote keys in node assertion

* feat: add and use getBlobsV1 to expedite gossip import (#7134)

* hookup the getblobs api to get bob and proof data from el

remove unused

fix import

metrics overhault, test, debugging testing, some feeback

fix

add nethermind bug dicussion link

fix

resolve conflicts

* deblobs timeout

* fix metric

* chore: revert async aggregate with randomness (#7218)

Revert "feat: asyncAggregateWithRandomness (#7204)"

This reverts commit e31d535.

* fix: update config for relaunched mekong network (#7220)

* fix: light client generating `LightClientUpdate` with wrong length of branches (#7187)

* initial commit

* Rewrite SyncCommitteeWitnessRepository

* Fix finality branch

* Update unit test

* fix e2e

* Review PR

---------

Co-authored-by: Nico Flaig <[email protected]>

* fix: archive finalized state when shutting down beacon node (#7221)

* Fix typo

* feat: remove unfinalized pubkey cache (#7230)

* Remove unfinalized pubkey cache

* lint

* Fix unit test

* chore: skip web3_provider unit tests (#7252)

* fix: prune checkpoint states at syncing time (#7241)

* fix: prune checkpoint states at syncing time

* fix: lint

* fix: check-types in test

* fix: sync cached isCompoundingValidatorArr at epoch transition (#7247)

* fix: handle outOfRangeData when range sync Deneb (#7249)

* fix: handle outOfRangeData for beaconBlocksMaybeBlobsByRange()

* fix: lint

* fix: archiveBlocks - handle deneb outOfRangeData block

* fix: sync cached balance when adding new validator to registry (#7255)

* fix: sync cached balance when adding new validator to registry

* chore: add more comments

* fix: remove persisted checkpoint states from the previous run at startup

* fix: do not throw error when trying to prune missing directory (#7257)

* docs: update documentation Oct 2024 (#7178)

* docs update oct 2024 init

* Reconfig quickstart nav and minor fixes

* fix lint

* spelling fixes

* minor fixes and add to wordlist

* prettier fix

* add to wordlist

* sort wordlist

* modify dominance to include lighthouse

* fix typescript casing and add recommendation

* add selection and boost_factor with keymanager notice

* update wordlist

* remove builder enabled and add keymanager api

* spelling

---------

Co-authored-by: Nico Flaig <[email protected]>

* chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /docs (#7268)

Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](moxystudio/node-cross-spawn@v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: add error log to notifier if execution client auth failed (#7239)

* feat: add error log to notifier if execution client auth failed

* Update packages/beacon-node/src/node/notifier.ts

---------

Co-authored-by: NC <[email protected]>

* docs: display rcConfig flag on CLI reference page (#7270)

* docs: display rcConfig flag on CLI reference page

* Update word list

* chore: remove prettier as default formatter for all file types (#7275)

* chore: unhide flags relevant for devnets / testing (#7271)

* feat: debug too many shuffling promises (#7251)

* feat: add asyncShufflingCalculation to StateTransitionOpts

* feat: add asyncShufflingCalculation to all regen / processSlots consumers

* fix: default to false for async shuffling and remove unnecessary props

* fix: remove unnecessary flags from stateTransition

* feat: implement conditional build of shuffling for prepareNextSlot

* fix: spec test bug where shufflingCache is present from BeaconChain constructor

* feat: sync build next shuffling if not queued async

* fix: use getSync to pull next shuffling correctly

* docs: add comment to prepareNextSlot

* refactor: rename StateCloneOpts to StateRegenerationOpts

* feat: pass asyncShufflingCalculation through to afterProcessEpoch and refactor conditional to run purely sync

* docs: add issue number to comment

* chore: lint

* chore: unpin nodejs version from 22.4 (#6982)

* Revert "chore: pin nodejs version to 22.4 (#6964)"

This reverts commit f20484b.

* Don't revert formatting changes

---------

Co-authored-by: Nico Flaig <[email protected]>
Co-authored-by: Cayman <[email protected]>

* chore: update bootnodes file url for holesky and sepolia (#7276)

* feat: add `debug_getHistoricalSummaries` endpoint (#7245)

* feat: add new getHistoricalSummaries endpoint to debug namespace

* Add JSON response

* Restructure to use stateId and add proof to response

* add test scaffolding

* Address feedback

* Move getHistoricalSummaries to lodestar namespace

* add lodestar namespace unit test

* update route name to lodestar namespace

* cast state object as Capella state

* Lint

* json properties need to be lower case

* Make it v1 since it's now part of lodestar namespace

* Group with other /lodestar endpoints

* Simplify beacon node impl

* Rename return type

* Update test description

* Fix variable name

---------

Co-authored-by: Nico Flaig <[email protected]>

* chore: log sync committee signature errors as `error` (#7283)

* fix: update engine_getClientVersionV1 commit encoding (#7282)

* fix: check pubkey or validator index known to a state (#7284)

* fix: check pubkey or validator index known to a state

* chore: add more comments

* feat: lodestar script setup (#7254)

* feat: lodestar_setup

* feat: script_updates + docs

* feat: script_addition_in_docs + command_update

* Remove duplicate script from docs folder

* Minor script updates

* Update script to prepare docs and ignore copied file

* Update installation page

* Wording

---------

Co-authored-by: Nico Flaig <[email protected]>

* feat: add terminal-sized Electra giraffe banner (#7286)

* Create giraffeBanners.ts

* Wire in banner

* Fix file name

* lint

* Address @nflaig's comment

---------

Co-authored-by: NC <[email protected]>

* chore: pin nodejs version to 22.4 (#7291)

Revert "chore: unpin nodejs version from 22.4 (#6982)"

This reverts commit 69ae688.

* feat: expose `DOMAIN_APPLICATION_MASK` in config/spec api (#7296)

* feat: expose DOMAIN_APPLICATION_MASK in config/spec api

* Lint

* feat: make `MAX_REQUEST_BLOB_SIDECARS` and `MAX_BLOBS_PER_BLOCK` configurable (#7294)

* Init commit

* Fix check-types

* Add comment on how MAX_REQUEST_BLOB_SIDECARS is calculated

* Ensure proper config object is passed

* Address comment

---------

Co-authored-by: Nico Flaig <[email protected]>

* feat: use `BLOB_SIDECAR_SUBNET_COUNT` to configure blob subnets (#7297)

feat: use BLOB_SIDECAR_SUBNET_COUNT to configure blob subnets

* chore: log sync aggregate participants when producing beacon block body (#7300)

* chore: log sync aggregate participants when producing beacon block body

* Use isForkLightClient instead of ForkSeq

* Fix produce block unit tests

* chore: print graffiti when producing beacon block body (#7303)

* fix: warn if engine / builder failed to produce block within cutoff time (#7305)

* feat: add kzg commitment length check when validating gossip blocks (#7302)

* feat: add blob sidecar index check (#7313)

Validate blobSidecar index

* fix: fix blob sidecar index check (#7315)

Fix index check

* chore: fix format of printed graffiti from hex to utf-8 (#7306)

* chore: fix format of printed graffiti from hex to utf-8

* Use Buffer.from no copy with offset

* docs: batch commit typos and update contributor readme (#7312)

* batch commit typos and update contributor readme

* update donation text

Co-authored-by: Nico Flaig <[email protected]>

* correct spelling

Co-authored-by: Nico Flaig <[email protected]>

---------

Co-authored-by: Nico Flaig <[email protected]>

* chore: remove trailing null bytes from printed graffiti (#7320)

* chore: remove trailing null bytes from printed graffiti

* Use replaceAll instead of regex

* chore: unpin nodejs version from 22.4 (#7324)

Revert "chore: pin nodejs version to 22.4 (#7291)"

This reverts commit 99794d3.

* chore: bump package versions to 1.24.0

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Nico Flaig <[email protected]>
Co-authored-by: Nazar Hussain <[email protected]>
Co-authored-by: g11tech <[email protected]>
Co-authored-by: Matthew Keil <[email protected]>
Co-authored-by: NC <[email protected]>
Co-authored-by: twoeths <[email protected]>
Co-authored-by: Phil Ngo <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: acolytec3 <[email protected]>
Co-authored-by: Varun Guleria <[email protected]>
Co-authored-by: ClockworkYuzu <[email protected]>
@wemeetagain
Copy link
Member

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