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: pin nodejs version to 22.4 #6964

Merged
merged 2 commits into from
Jul 18, 2024
Merged

chore: pin nodejs version to 22.4 #6964

merged 2 commits into from
Jul 18, 2024

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Jul 18, 2024

Motivation

Node 22.5 seems broken

Description

Pin nodejs version to 22.4

nodejs/node#53902 (and other issues)

Copy link

codecov bot commented Jul 18, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 62.49%. Comparing base (c78b6ce) to head (8b78642).

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #6964      +/-   ##
============================================
- Coverage     62.52%   62.49%   -0.03%     
============================================
  Files           576      576              
  Lines         61171    61171              
  Branches       2140     2136       -4     
============================================
- Hits          38245    38230      -15     
- Misses        22888    22902      +14     
- Partials         38       39       +1     

@nflaig nflaig marked this pull request as ready for review July 18, 2024 17:05
@nflaig nflaig requested a review from a team as a code owner July 18, 2024 17:05
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 1b7f9fe Previous: c78b6ce Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 895.47 us/op 424.93 us/op 2.11
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 40.627 us/op 45.310 us/op 0.90
BLS verify - blst-native 1.1204 ms/op 1.2121 ms/op 0.92
BLS verifyMultipleSignatures 3 - blst-native 2.4057 ms/op 2.5738 ms/op 0.93
BLS verifyMultipleSignatures 8 - blst-native 5.2962 ms/op 5.6723 ms/op 0.93
BLS verifyMultipleSignatures 32 - blst-native 19.469 ms/op 20.910 ms/op 0.93
BLS verifyMultipleSignatures 64 - blst-native 40.037 ms/op 41.140 ms/op 0.97
BLS verifyMultipleSignatures 128 - blst-native 79.508 ms/op 81.603 ms/op 0.97
BLS deserializing 10000 signatures 798.58 ms/op 844.87 ms/op 0.95
BLS deserializing 100000 signatures 7.9738 s/op 8.6245 s/op 0.92
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.1303 ms/op 1.2286 ms/op 0.92
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.2870 ms/op 1.4601 ms/op 0.88
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.0142 ms/op 2.1924 ms/op 0.92
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.0075 ms/op 3.3856 ms/op 0.89
BLS verifyMultipleSignatures - same message - 128 - blst-native 6.4743 ms/op 5.4524 ms/op 1.19
BLS aggregatePubkeys 32 - blst-native 22.910 us/op 24.986 us/op 0.92
BLS aggregatePubkeys 128 - blst-native 92.163 us/op 97.038 us/op 0.95
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 56.107 ms/op 57.533 ms/op 0.98
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 48.449 ms/op 49.092 ms/op 0.99
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 34.629 ms/op 31.379 ms/op 1.10
getSlashingsAndExits - default max 73.463 us/op 98.159 us/op 0.75
getSlashingsAndExits - 2k 246.35 us/op 254.54 us/op 0.97
proposeBlockBody type=full, size=empty 5.1123 ms/op 5.7126 ms/op 0.89
isKnown best case - 1 super set check 545.00 ns/op 281.00 ns/op 1.94
isKnown normal case - 2 super set checks 469.00 ns/op 273.00 ns/op 1.72
isKnown worse case - 16 super set checks 492.00 ns/op 274.00 ns/op 1.80
InMemoryCheckpointStateCache - add get delete 4.4290 us/op 4.8890 us/op 0.91
validate api signedAggregateAndProof - struct 2.4736 ms/op 2.5854 ms/op 0.96
validate gossip signedAggregateAndProof - struct 2.4790 ms/op 2.5590 ms/op 0.97
validate gossip attestation - vc 640000 1.1761 ms/op 1.2374 ms/op 0.95
batch validate gossip attestation - vc 640000 - chunk 32 143.55 us/op 148.03 us/op 0.97
batch validate gossip attestation - vc 640000 - chunk 64 123.14 us/op 130.12 us/op 0.95
batch validate gossip attestation - vc 640000 - chunk 128 115.91 us/op 118.56 us/op 0.98
batch validate gossip attestation - vc 640000 - chunk 256 131.87 us/op 115.51 us/op 1.14
pickEth1Vote - no votes 1.0492 ms/op 984.16 us/op 1.07
pickEth1Vote - max votes 11.249 ms/op 6.1356 ms/op 1.83
pickEth1Vote - Eth1Data hashTreeRoot value x2048 16.296 ms/op 11.279 ms/op 1.44
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 24.891 ms/op 18.241 ms/op 1.36
pickEth1Vote - Eth1Data fastSerialize value x2048 390.07 us/op 472.77 us/op 0.83
pickEth1Vote - Eth1Data fastSerialize tree x2048 3.0469 ms/op 6.4417 ms/op 0.47
bytes32 toHexString 604.00 ns/op 417.00 ns/op 1.45
bytes32 Buffer.toString(hex) 462.00 ns/op 252.00 ns/op 1.83
bytes32 Buffer.toString(hex) from Uint8Array 547.00 ns/op 363.00 ns/op 1.51
bytes32 Buffer.toString(hex) + 0x 471.00 ns/op 249.00 ns/op 1.89
Object access 1 prop 0.34300 ns/op 0.13900 ns/op 2.47
Map access 1 prop 0.34700 ns/op 0.13800 ns/op 2.51
Object get x1000 5.1230 ns/op 5.8620 ns/op 0.87
Map get x1000 5.7440 ns/op 6.5020 ns/op 0.88
Object set x1000 22.579 ns/op 31.484 ns/op 0.72
Map set x1000 24.527 ns/op 21.865 ns/op 1.12
Return object 10000 times 0.30180 ns/op 0.28620 ns/op 1.05
Throw Error 10000 times 2.9673 us/op 3.3336 us/op 0.89
fastMsgIdFn sha256 / 200 bytes 2.2350 us/op 2.1420 us/op 1.04
fastMsgIdFn h32 xxhash / 200 bytes 547.00 ns/op 218.00 ns/op 2.51
fastMsgIdFn h64 xxhash / 200 bytes 509.00 ns/op 260.00 ns/op 1.96
fastMsgIdFn sha256 / 1000 bytes 6.4350 us/op 7.0900 us/op 0.91
fastMsgIdFn h32 xxhash / 1000 bytes 628.00 ns/op 344.00 ns/op 1.83
fastMsgIdFn h64 xxhash / 1000 bytes 604.00 ns/op 332.00 ns/op 1.82
fastMsgIdFn sha256 / 10000 bytes 53.545 us/op 63.699 us/op 0.84
fastMsgIdFn h32 xxhash / 10000 bytes 2.0130 us/op 1.8440 us/op 1.09
fastMsgIdFn h64 xxhash / 10000 bytes 1.4110 us/op 1.1990 us/op 1.18
send data - 1000 256B messages 11.483 ms/op 11.791 ms/op 0.97
send data - 1000 512B messages 14.479 ms/op 16.238 ms/op 0.89
send data - 1000 1024B messages 21.174 ms/op 25.157 ms/op 0.84
send data - 1000 1200B messages 26.136 ms/op 18.493 ms/op 1.41
send data - 1000 2048B messages 30.765 ms/op 31.124 ms/op 0.99
send data - 1000 4096B messages 26.008 ms/op 32.260 ms/op 0.81
send data - 1000 16384B messages 64.961 ms/op 69.567 ms/op 0.93
send data - 1000 65536B messages 239.04 ms/op 216.58 ms/op 1.10
enrSubnets - fastDeserialize 64 bits 1.1320 us/op 1.0990 us/op 1.03
enrSubnets - ssz BitVector 64 bits 520.00 ns/op 350.00 ns/op 1.49
enrSubnets - fastDeserialize 4 bits 343.00 ns/op 142.00 ns/op 2.42
enrSubnets - ssz BitVector 4 bits 521.00 ns/op 365.00 ns/op 1.43
prioritizePeers score -10:0 att 32-0.1 sync 2-0 126.29 us/op 160.77 us/op 0.79
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 127.29 us/op 142.09 us/op 0.90
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 287.38 us/op 257.33 us/op 1.12
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 413.30 us/op 382.24 us/op 1.08
prioritizePeers score 0:0 att 64-1 sync 4-1 798.23 us/op 603.37 us/op 1.32
array of 16000 items push then shift 1.3160 us/op 1.6306 us/op 0.81
LinkedList of 16000 items push then shift 6.6110 ns/op 7.2440 ns/op 0.91
array of 16000 items push then pop 102.93 ns/op 132.43 ns/op 0.78
LinkedList of 16000 items push then pop 6.4510 ns/op 7.1690 ns/op 0.90
array of 24000 items push then shift 1.9930 us/op 2.4005 us/op 0.83
LinkedList of 24000 items push then shift 6.5960 ns/op 7.2810 ns/op 0.91
array of 24000 items push then pop 152.25 ns/op 146.01 ns/op 1.04
LinkedList of 24000 items push then pop 6.3780 ns/op 7.3070 ns/op 0.87
intersect bitArray bitLen 8 5.5820 ns/op 6.3390 ns/op 0.88
intersect array and set length 8 39.707 ns/op 46.753 ns/op 0.85
intersect bitArray bitLen 128 26.956 ns/op 29.296 ns/op 0.92
intersect array and set length 128 588.92 ns/op 662.87 ns/op 0.89
bitArray.getTrueBitIndexes() bitLen 128 2.6470 us/op 1.7790 us/op 1.49
bitArray.getTrueBitIndexes() bitLen 248 5.1620 us/op 3.3340 us/op 1.55
bitArray.getTrueBitIndexes() bitLen 512 9.4450 us/op 5.9730 us/op 1.58
Buffer.concat 32 items 1.2400 us/op 906.00 ns/op 1.37
Uint8Array.set 32 items 2.5380 us/op 1.6360 us/op 1.55
Buffer.copy 2.5000 us/op 1.7320 us/op 1.44
Uint8Array.set - with subarray 2.4990 us/op 2.5370 us/op 0.99
Uint8Array.set - without subarray 1.7680 us/op 1.3830 us/op 1.28
getUint32 - dataview 535.00 ns/op 230.00 ns/op 2.33
getUint32 - manual 456.00 ns/op 153.00 ns/op 2.98
Set add up to 64 items then delete first 1.9426 us/op 2.2483 us/op 0.86
OrderedSet add up to 64 items then delete first 4.2065 us/op 3.3048 us/op 1.27
Set add up to 64 items then delete last 2.3920 us/op 2.5828 us/op 0.93
OrderedSet add up to 64 items then delete last 3.8653 us/op 3.9376 us/op 0.98
Set add up to 64 items then delete middle 2.1051 us/op 2.5547 us/op 0.82
OrderedSet add up to 64 items then delete middle 4.7151 us/op 5.3783 us/op 0.88
Set add up to 128 items then delete first 4.0982 us/op 5.1481 us/op 0.80
OrderedSet add up to 128 items then delete first 6.3109 us/op 7.5047 us/op 0.84
Set add up to 128 items then delete last 4.1149 us/op 5.3854 us/op 0.76
OrderedSet add up to 128 items then delete last 6.5792 us/op 7.8546 us/op 0.84
Set add up to 128 items then delete middle 4.1437 us/op 5.0432 us/op 0.82
OrderedSet add up to 128 items then delete middle 12.539 us/op 13.747 us/op 0.91
Set add up to 256 items then delete first 7.9053 us/op 10.608 us/op 0.75
OrderedSet add up to 256 items then delete first 11.974 us/op 15.650 us/op 0.77
Set add up to 256 items then delete last 7.9232 us/op 10.243 us/op 0.77
OrderedSet add up to 256 items then delete last 12.371 us/op 16.182 us/op 0.76
Set add up to 256 items then delete middle 7.7550 us/op 10.056 us/op 0.77
OrderedSet add up to 256 items then delete middle 35.577 us/op 40.182 us/op 0.89
transfer serialized Status (84 B) 1.4350 us/op 1.4430 us/op 0.99
copy serialized Status (84 B) 1.2700 us/op 1.1850 us/op 1.07
transfer serialized SignedVoluntaryExit (112 B) 1.6840 us/op 1.6060 us/op 1.05
copy serialized SignedVoluntaryExit (112 B) 1.2310 us/op 1.2810 us/op 0.96
transfer serialized ProposerSlashing (416 B) 1.5960 us/op 2.5650 us/op 0.62
copy serialized ProposerSlashing (416 B) 1.4810 us/op 1.7820 us/op 0.83
transfer serialized Attestation (485 B) 2.1400 us/op 2.0160 us/op 1.06
copy serialized Attestation (485 B) 1.5900 us/op 1.7920 us/op 0.89
transfer serialized AttesterSlashing (33232 B) 1.9010 us/op 2.3280 us/op 0.82
copy serialized AttesterSlashing (33232 B) 4.1770 us/op 5.4780 us/op 0.76
transfer serialized Small SignedBeaconBlock (128000 B) 2.3590 us/op 2.9090 us/op 0.81
copy serialized Small SignedBeaconBlock (128000 B) 10.761 us/op 16.427 us/op 0.66
transfer serialized Avg SignedBeaconBlock (200000 B) 3.2630 us/op 3.4940 us/op 0.93
copy serialized Avg SignedBeaconBlock (200000 B) 13.730 us/op 21.356 us/op 0.64
transfer serialized BlobsSidecar (524380 B) 3.2570 us/op 2.9660 us/op 1.10
copy serialized BlobsSidecar (524380 B) 73.797 us/op 90.393 us/op 0.82
transfer serialized Big SignedBeaconBlock (1000000 B) 3.3180 us/op 2.9690 us/op 1.12
copy serialized Big SignedBeaconBlock (1000000 B) 144.76 us/op 152.52 us/op 0.95
pass gossip attestations to forkchoice per slot 2.8076 ms/op 3.3089 ms/op 0.85
forkChoice updateHead vc 100000 bc 64 eq 0 406.39 us/op 489.39 us/op 0.83
forkChoice updateHead vc 600000 bc 64 eq 0 2.4432 ms/op 3.0268 ms/op 0.81
forkChoice updateHead vc 1000000 bc 64 eq 0 4.0781 ms/op 5.2419 ms/op 0.78
forkChoice updateHead vc 600000 bc 320 eq 0 2.4460 ms/op 3.0206 ms/op 0.81
forkChoice updateHead vc 600000 bc 1200 eq 0 2.5631 ms/op 3.0986 ms/op 0.83
forkChoice updateHead vc 600000 bc 7200 eq 0 2.7227 ms/op 4.0095 ms/op 0.68
forkChoice updateHead vc 600000 bc 64 eq 1000 9.7252 ms/op 10.635 ms/op 0.91
forkChoice updateHead vc 600000 bc 64 eq 10000 9.4913 ms/op 10.499 ms/op 0.90
forkChoice updateHead vc 600000 bc 64 eq 300000 11.813 ms/op 14.670 ms/op 0.81
computeDeltas 500000 validators 300 proto nodes 2.9192 ms/op 3.5686 ms/op 0.82
computeDeltas 500000 validators 1200 proto nodes 2.9031 ms/op 3.5413 ms/op 0.82
computeDeltas 500000 validators 7200 proto nodes 3.0105 ms/op 3.6541 ms/op 0.82
computeDeltas 750000 validators 300 proto nodes 4.5932 ms/op 5.2773 ms/op 0.87
computeDeltas 750000 validators 1200 proto nodes 4.6321 ms/op 5.1986 ms/op 0.89
computeDeltas 750000 validators 7200 proto nodes 4.6468 ms/op 5.2705 ms/op 0.88
computeDeltas 1400000 validators 300 proto nodes 8.8122 ms/op 9.8809 ms/op 0.89
computeDeltas 1400000 validators 1200 proto nodes 8.8900 ms/op 9.8313 ms/op 0.90
computeDeltas 1400000 validators 7200 proto nodes 9.4428 ms/op 9.9885 ms/op 0.95
computeDeltas 2100000 validators 300 proto nodes 12.860 ms/op 15.055 ms/op 0.85
computeDeltas 2100000 validators 1200 proto nodes 12.613 ms/op 15.056 ms/op 0.84
computeDeltas 2100000 validators 7200 proto nodes 13.690 ms/op 16.291 ms/op 0.84
altair processAttestation - 250000 vs - 7PWei normalcase 1.6937 ms/op 2.2251 ms/op 0.76
altair processAttestation - 250000 vs - 7PWei worstcase 2.6448 ms/op 3.0197 ms/op 0.88
altair processAttestation - setStatus - 1/6 committees join 76.253 us/op 136.25 us/op 0.56
altair processAttestation - setStatus - 1/3 committees join 134.99 us/op 255.22 us/op 0.53
altair processAttestation - setStatus - 1/2 committees join 198.64 us/op 357.30 us/op 0.56
altair processAttestation - setStatus - 2/3 committees join 262.50 us/op 438.75 us/op 0.60
altair processAttestation - setStatus - 4/5 committees join 393.54 us/op 622.13 us/op 0.63
altair processAttestation - setStatus - 100% committees join 485.75 us/op 705.34 us/op 0.69
altair processBlock - 250000 vs - 7PWei normalcase 2.9867 ms/op 5.0800 ms/op 0.59
altair processBlock - 250000 vs - 7PWei normalcase hashState 20.497 ms/op 25.977 ms/op 0.79
altair processBlock - 250000 vs - 7PWei worstcase 35.194 ms/op 40.581 ms/op 0.87
altair processBlock - 250000 vs - 7PWei worstcase hashState 61.608 ms/op 81.842 ms/op 0.75
phase0 processBlock - 250000 vs - 7PWei normalcase 1.4325 ms/op 2.3709 ms/op 0.60
phase0 processBlock - 250000 vs - 7PWei worstcase 22.955 ms/op 27.589 ms/op 0.83
altair processEth1Data - 250000 vs - 7PWei normalcase 263.82 us/op 330.02 us/op 0.80
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 5.1000 us/op 6.2400 us/op 0.82
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 16.488 us/op 29.274 us/op 0.56
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 6.7760 us/op 9.5680 us/op 0.71
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 5.2210 us/op 6.4330 us/op 0.81
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 84.726 us/op 116.03 us/op 0.73
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 796.68 us/op 669.13 us/op 1.19
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 674.74 us/op 907.10 us/op 0.74
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.1167 ms/op 900.64 us/op 1.24
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.0839 ms/op 2.6501 ms/op 0.79
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.0227 ms/op 1.5756 ms/op 1.28
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.0347 ms/op 3.9513 ms/op 0.77
Tree 40 250000 create 174.50 ms/op 244.79 ms/op 0.71
Tree 40 250000 get(125000) 119.38 ns/op 147.79 ns/op 0.81
Tree 40 250000 set(125000) 573.00 ns/op 648.72 ns/op 0.88
Tree 40 250000 toArray() 11.492 ms/op 19.490 ms/op 0.59
Tree 40 250000 iterate all - toArray() + loop 9.6433 ms/op 20.113 ms/op 0.48
Tree 40 250000 iterate all - get(i) 41.725 ms/op 54.607 ms/op 0.76
MutableVector 250000 create 7.6279 ms/op 10.496 ms/op 0.73
MutableVector 250000 get(125000) 6.0750 ns/op 7.6470 ns/op 0.79
MutableVector 250000 set(125000) 163.77 ns/op 228.03 ns/op 0.72
MutableVector 250000 toArray() 2.7483 ms/op 4.4183 ms/op 0.62
MutableVector 250000 iterate all - toArray() + loop 2.8645 ms/op 4.0432 ms/op 0.71
MutableVector 250000 iterate all - get(i) 1.4468 ms/op 1.8191 ms/op 0.80
Array 250000 create 2.4093 ms/op 3.1904 ms/op 0.76
Array 250000 clone - spread 1.2183 ms/op 1.5408 ms/op 0.79
Array 250000 get(125000) 0.59900 ns/op 0.40700 ns/op 1.47
Array 250000 set(125000) 0.59700 ns/op 0.43400 ns/op 1.38
Array 250000 iterate all - loop 77.731 us/op 104.71 us/op 0.74
effectiveBalanceIncrements clone Uint8Array 300000 13.004 us/op 44.884 us/op 0.29
effectiveBalanceIncrements clone MutableVector 300000 328.00 ns/op 127.00 ns/op 2.58
effectiveBalanceIncrements rw all Uint8Array 300000 168.50 us/op 200.06 us/op 0.84
effectiveBalanceIncrements rw all MutableVector 300000 54.586 ms/op 73.792 ms/op 0.74
phase0 afterProcessEpoch - 250000 vs - 7PWei 70.843 ms/op 89.244 ms/op 0.79
Array.fill - length 1000000 2.4386 ms/op 4.0005 ms/op 0.61
Array push - length 1000000 14.336 ms/op 18.336 ms/op 0.78
Array.get 0.26683 ns/op 0.28317 ns/op 0.94
Uint8Array.get 0.34555 ns/op 0.44751 ns/op 0.77
phase0 beforeProcessEpoch - 250000 vs - 7PWei 17.608 ms/op 25.506 ms/op 0.69
altair processEpoch - mainnet_e81889 302.90 ms/op 335.55 ms/op 0.90
mainnet_e81889 - altair beforeProcessEpoch 25.854 ms/op 32.985 ms/op 0.78
mainnet_e81889 - altair processJustificationAndFinalization 8.8360 us/op 11.598 us/op 0.76
mainnet_e81889 - altair processInactivityUpdates 4.2769 ms/op 6.2564 ms/op 0.68
mainnet_e81889 - altair processRewardsAndPenalties 49.746 ms/op 38.008 ms/op 1.31
mainnet_e81889 - altair processRegistryUpdates 1.9930 us/op 1.7590 us/op 1.13
mainnet_e81889 - altair processSlashings 686.00 ns/op 455.00 ns/op 1.51
mainnet_e81889 - altair processEth1DataReset 717.00 ns/op 352.00 ns/op 2.04
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.5019 ms/op 1.7776 ms/op 0.84
mainnet_e81889 - altair processSlashingsReset 2.5760 us/op 2.6320 us/op 0.98
mainnet_e81889 - altair processRandaoMixesReset 2.7450 us/op 4.2590 us/op 0.64
mainnet_e81889 - altair processHistoricalRootsUpdate 656.00 ns/op 552.00 ns/op 1.19
mainnet_e81889 - altair processParticipationFlagUpdates 2.7520 us/op 2.0040 us/op 1.37
mainnet_e81889 - altair processSyncCommitteeUpdates 800.00 ns/op 452.00 ns/op 1.77
mainnet_e81889 - altair afterProcessEpoch 81.453 ms/op 93.223 ms/op 0.87
capella processEpoch - mainnet_e217614 1.1216 s/op 1.1217 s/op 1.00
mainnet_e217614 - capella beforeProcessEpoch 117.13 ms/op 111.59 ms/op 1.05
mainnet_e217614 - capella processJustificationAndFinalization 12.798 us/op 13.061 us/op 0.98
mainnet_e217614 - capella processInactivityUpdates 16.247 ms/op 16.795 ms/op 0.97
mainnet_e217614 - capella processRewardsAndPenalties 255.26 ms/op 218.26 ms/op 1.17
mainnet_e217614 - capella processRegistryUpdates 12.826 us/op 12.270 us/op 1.05
mainnet_e217614 - capella processSlashings 853.00 ns/op 364.00 ns/op 2.34
mainnet_e217614 - capella processEth1DataReset 1.0940 us/op 288.00 ns/op 3.80
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.3853 ms/op 10.077 ms/op 0.44
mainnet_e217614 - capella processSlashingsReset 3.4490 us/op 3.4360 us/op 1.00
mainnet_e217614 - capella processRandaoMixesReset 8.7280 us/op 3.3220 us/op 2.63
mainnet_e217614 - capella processHistoricalRootsUpdate 868.00 ns/op 877.00 ns/op 0.99
mainnet_e217614 - capella processParticipationFlagUpdates 2.3300 us/op 1.6810 us/op 1.39
mainnet_e217614 - capella afterProcessEpoch 247.41 ms/op 255.91 ms/op 0.97
phase0 processEpoch - mainnet_e58758 253.07 ms/op 334.18 ms/op 0.76
mainnet_e58758 - phase0 beforeProcessEpoch 57.907 ms/op 76.460 ms/op 0.76
mainnet_e58758 - phase0 processJustificationAndFinalization 11.741 us/op 12.923 us/op 0.91
mainnet_e58758 - phase0 processRewardsAndPenalties 36.040 ms/op 31.046 ms/op 1.16
mainnet_e58758 - phase0 processRegistryUpdates 6.5370 us/op 7.3610 us/op 0.89
mainnet_e58758 - phase0 processSlashings 704.00 ns/op 305.00 ns/op 2.31
mainnet_e58758 - phase0 processEth1DataReset 415.00 ns/op 305.00 ns/op 1.36
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 719.41 us/op 942.90 us/op 0.76
mainnet_e58758 - phase0 processSlashingsReset 2.3140 us/op 3.4530 us/op 0.67
mainnet_e58758 - phase0 processRandaoMixesReset 2.7950 us/op 3.5650 us/op 0.78
mainnet_e58758 - phase0 processHistoricalRootsUpdate 802.00 ns/op 302.00 ns/op 2.66
mainnet_e58758 - phase0 processParticipationRecordUpdates 2.6190 us/op 2.2730 us/op 1.15
mainnet_e58758 - phase0 afterProcessEpoch 69.625 ms/op 79.269 ms/op 0.88
phase0 processEffectiveBalanceUpdates - 250000 normalcase 835.82 us/op 1.1943 ms/op 0.70
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.4761 ms/op 1.9392 ms/op 0.76
altair processInactivityUpdates - 250000 normalcase 17.399 ms/op 15.148 ms/op 1.15
altair processInactivityUpdates - 250000 worstcase 18.247 ms/op 14.165 ms/op 1.29
phase0 processRegistryUpdates - 250000 normalcase 3.3510 us/op 7.0470 us/op 0.48
phase0 processRegistryUpdates - 250000 badcase_full_deposits 310.86 us/op 268.54 us/op 1.16
phase0 processRegistryUpdates - 250000 worstcase 0.5 107.97 ms/op 100.33 ms/op 1.08
altair processRewardsAndPenalties - 250000 normalcase 37.882 ms/op 35.771 ms/op 1.06
altair processRewardsAndPenalties - 250000 worstcase 38.067 ms/op 39.777 ms/op 0.96
phase0 getAttestationDeltas - 250000 normalcase 6.0446 ms/op 7.6626 ms/op 0.79
phase0 getAttestationDeltas - 250000 worstcase 6.5124 ms/op 8.1922 ms/op 0.79
phase0 processSlashings - 250000 worstcase 92.203 us/op 97.890 us/op 0.94
altair processSyncCommitteeUpdates - 250000 94.509 ms/op 135.34 ms/op 0.70
BeaconState.hashTreeRoot - No change 472.00 ns/op 278.00 ns/op 1.70
BeaconState.hashTreeRoot - 1 full validator 101.36 us/op 120.10 us/op 0.84
BeaconState.hashTreeRoot - 32 full validator 1.0137 ms/op 1.4433 ms/op 0.70
BeaconState.hashTreeRoot - 512 full validator 12.093 ms/op 8.9866 ms/op 1.35
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 130.66 us/op 119.68 us/op 1.09
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.1324 ms/op 1.5775 ms/op 1.35
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 23.449 ms/op 19.449 ms/op 1.21
BeaconState.hashTreeRoot - 1 balances 120.15 us/op 100.09 us/op 1.20
BeaconState.hashTreeRoot - 32 balances 1.0345 ms/op 895.70 us/op 1.15
BeaconState.hashTreeRoot - 512 balances 7.9433 ms/op 12.482 ms/op 0.64
BeaconState.hashTreeRoot - 250000 balances 200.36 ms/op 169.05 ms/op 1.19
aggregationBits - 2048 els - zipIndexesInBitList 20.696 us/op 22.192 us/op 0.93
byteArrayEquals 32 49.425 ns/op 51.374 ns/op 0.96
Buffer.compare 32 15.754 ns/op 16.502 ns/op 0.95
byteArrayEquals 1024 1.3116 us/op 1.5184 us/op 0.86
Buffer.compare 1024 23.122 ns/op 23.538 ns/op 0.98
byteArrayEquals 16384 20.448 us/op 24.169 us/op 0.85
Buffer.compare 16384 178.97 ns/op 196.66 ns/op 0.91
byteArrayEquals 123687377 156.79 ms/op 189.28 ms/op 0.83
Buffer.compare 123687377 4.5877 ms/op 6.7854 ms/op 0.68
byteArrayEquals 32 - diff last byte 47.613 ns/op 52.426 ns/op 0.91
Buffer.compare 32 - diff last byte 15.904 ns/op 17.032 ns/op 0.93
byteArrayEquals 1024 - diff last byte 1.2683 us/op 1.5823 us/op 0.80
Buffer.compare 1024 - diff last byte 23.640 ns/op 25.520 ns/op 0.93
byteArrayEquals 16384 - diff last byte 20.252 us/op 25.109 us/op 0.81
Buffer.compare 16384 - diff last byte 197.78 ns/op 183.63 ns/op 1.08
byteArrayEquals 123687377 - diff last byte 151.56 ms/op 191.88 ms/op 0.79
Buffer.compare 123687377 - diff last byte 4.9482 ms/op 7.6787 ms/op 0.64
byteArrayEquals 32 - random bytes 4.9810 ns/op 5.3140 ns/op 0.94
Buffer.compare 32 - random bytes 15.766 ns/op 17.598 ns/op 0.90
byteArrayEquals 1024 - random bytes 5.0720 ns/op 5.2430 ns/op 0.97
Buffer.compare 1024 - random bytes 16.132 ns/op 17.274 ns/op 0.93
byteArrayEquals 16384 - random bytes 4.8790 ns/op 5.1790 ns/op 0.94
Buffer.compare 16384 - random bytes 15.580 ns/op 17.342 ns/op 0.90
byteArrayEquals 123687377 - random bytes 8.0500 ns/op 6.4900 ns/op 1.24
Buffer.compare 123687377 - random bytes 18.420 ns/op 18.910 ns/op 0.97
regular array get 100000 times 30.353 us/op 40.806 us/op 0.74
wrappedArray get 100000 times 29.389 us/op 33.831 us/op 0.87
arrayWithProxy get 100000 times 10.363 ms/op 13.098 ms/op 0.79
ssz.Root.equals 42.274 ns/op 46.916 ns/op 0.90
byteArrayEquals 40.978 ns/op 46.513 ns/op 0.88
Buffer.compare 8.6460 ns/op 10.725 ns/op 0.81
shuffle list - 16384 els 5.5297 ms/op 6.4002 ms/op 0.86
shuffle list - 250000 els 81.481 ms/op 93.423 ms/op 0.87
processSlot - 1 slots 11.585 us/op 12.576 us/op 0.92
processSlot - 32 slots 3.1865 ms/op 2.2084 ms/op 1.44
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 43.915 ms/op 37.064 ms/op 1.18
getCommitteeAssignments - req 1 vs - 250000 vc 1.7683 ms/op 2.1829 ms/op 0.81
getCommitteeAssignments - req 100 vs - 250000 vc 3.4713 ms/op 4.1990 ms/op 0.83
getCommitteeAssignments - req 1000 vs - 250000 vc 3.7987 ms/op 4.6256 ms/op 0.82
findModifiedValidators - 10000 modified validators 219.29 ms/op 294.42 ms/op 0.74
findModifiedValidators - 1000 modified validators 164.86 ms/op 201.75 ms/op 0.82
findModifiedValidators - 100 modified validators 144.21 ms/op 189.92 ms/op 0.76
findModifiedValidators - 10 modified validators 132.78 ms/op 178.71 ms/op 0.74
findModifiedValidators - 1 modified validators 137.82 ms/op 183.58 ms/op 0.75
findModifiedValidators - no difference 147.58 ms/op 153.91 ms/op 0.96
compare ViewDUs 3.3393 s/op 3.2741 s/op 1.02
compare each validator Uint8Array 1.2844 s/op 1.8873 s/op 0.68
compare ViewDU to Uint8Array 882.41 ms/op 1.2589 s/op 0.70
migrate state 1000000 validators, 24 modified, 0 new 543.14 ms/op 696.75 ms/op 0.78
migrate state 1000000 validators, 1700 modified, 1000 new 808.23 ms/op 1.2122 s/op 0.67
migrate state 1000000 validators, 3400 modified, 2000 new 1.0102 s/op 1.2095 s/op 0.84
migrate state 1500000 validators, 24 modified, 0 new 577.75 ms/op 650.00 ms/op 0.89
migrate state 1500000 validators, 1700 modified, 1000 new 757.14 ms/op 850.98 ms/op 0.89
migrate state 1500000 validators, 3400 modified, 2000 new 874.86 ms/op 1.0843 s/op 0.81
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 6.0000 ns/op 4.9400 ns/op 1.21
state getBlockRootAtSlot - 250000 vs - 7PWei 506.57 ns/op 929.41 ns/op 0.55
computeProposers - vc 250000 5.4039 ms/op 7.4343 ms/op 0.73
computeEpochShuffling - vc 250000 79.905 ms/op 93.564 ms/op 0.85
getNextSyncCommittee - vc 250000 94.263 ms/op 128.66 ms/op 0.73
computeSigningRoot for AttestationData 19.647 us/op 21.596 us/op 0.91
hash AttestationData serialized data then Buffer.toString(base64) 1.1555 us/op 1.6208 us/op 0.71
toHexString serialized data 771.53 ns/op 1.0919 us/op 0.71
Buffer.toString(base64) 137.46 ns/op 213.51 ns/op 0.64

by benchmarkbot/action

@wemeetagain wemeetagain merged commit 5f37580 into unstable Jul 18, 2024
21 checks passed
@wemeetagain wemeetagain deleted the nflaig/pin-node branch July 18, 2024 17:47
@nflaig nflaig mentioned this pull request Jul 19, 2024
philknows pushed a commit that referenced this pull request Jul 19, 2024
* chore: pin nodejs version to 22.4

* More pinning
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.20.2 🎉

nazarhussain added a commit that referenced this pull request Jul 27, 2024
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.21.0 🎉

wemeetagain added a commit that referenced this pull request Dec 4, 2024
* Revert "chore: pin nodejs version to 22.4 (#6964)"

This reverts commit f20484b.

* Don't revert formatting changes

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
Co-authored-by: Cayman <caymannava@gmail.com>
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 <nflaig@protonmail.com>

* 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 <nflaig@protonmail.com>

* 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] <support@github.com>
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 <17676176+ensi321@users.noreply.github.com>

* 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 <nflaig@protonmail.com>
Co-authored-by: Cayman <caymannava@gmail.com>

* 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 <nflaig@protonmail.com>

* 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 <nflaig@protonmail.com>

* 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 <17676176+ensi321@users.noreply.github.com>

* 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 <nflaig@protonmail.com>

* 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 <nflaig@protonmail.com>

* correct spelling

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* 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] <support@github.com>
Co-authored-by: Nico Flaig <nflaig@protonmail.com>
Co-authored-by: Nazar Hussain <nazarhussain@gmail.com>
Co-authored-by: g11tech <develop@g11tech.io>
Co-authored-by: Matthew Keil <me@matthewkeil.com>
Co-authored-by: NC <17676176+ensi321@users.noreply.github.com>
Co-authored-by: twoeths <tuyen@chainsafe.io>
Co-authored-by: Phil Ngo <58080811+philknows@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: acolytec3 <17355484+acolytec3@users.noreply.github.com>
Co-authored-by: Varun Guleria <152203177+varunguleriaCodes@users.noreply.github.com>
Co-authored-by: ClockworkYuzu <yvetteheh@gmail.com>
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