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: restrict node version to 20.x #6498

Merged
merged 1 commit into from
Mar 1, 2024
Merged

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Feb 28, 2024

Motivation

There is no reason to keep support for node 18, and node 22 is not yet a stable release.

Release Status Codename Initial Release Active LTS Start Maintenance Start End-of-life
20.x LTS Iron 2023-04-18 2023-10-24 2024-10-22 2026-04-30
22.x Pending 2024-04-23 2024-10-29 2025-10-21 2027-04-30

Description

Restrict node version to 20.x, once node 22 is released we might wanna support two node versions (20,22) again and at this point we can reconsider running units tests against both supported versions.

Related #6487

@nflaig nflaig requested a review from a team as a code owner February 28, 2024 14:10
Copy link

codecov bot commented Feb 28, 2024

Codecov Report

Merging #6498 (1c01dd0) into unstable (e9a3f07) will increase coverage by 0.00%.
Report is 5 commits behind head on unstable.
The diff coverage is n/a.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #6498   +/-   ##
=========================================
  Coverage     61.72%   61.72%           
=========================================
  Files           555      555           
  Lines         58204    58204           
  Branches       1839     1844    +5     
=========================================
+ Hits          35925    35927    +2     
+ Misses        22240    22238    -2     
  Partials         39       39           

Copy link
Contributor

github-actions bot commented Feb 28, 2024

Performance Report

✔️ no performance regression detected

🚀🚀 Significant benchmark improvement detected

Benchmark suite Current: 5e19c33 Previous: 6675739 Ratio
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 57.751 us/op 179.45 us/op 0.32
Set add up to 128 items then delete middle 3.8489 us/op 11.640 us/op 0.33
Set add up to 256 items then delete last 7.7062 us/op 23.370 us/op 0.33
Full benchmark results
Benchmark suite Current: 5e19c33 Previous: 6675739 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 479.58 us/op 757.16 us/op 0.63
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 57.751 us/op 179.45 us/op 0.32
BLS verify - blst-native 1.1107 ms/op 1.3862 ms/op 0.80
BLS verifyMultipleSignatures 3 - blst-native 2.3546 ms/op 2.9397 ms/op 0.80
BLS verifyMultipleSignatures 8 - blst-native 5.2242 ms/op 6.7566 ms/op 0.77
BLS verifyMultipleSignatures 32 - blst-native 19.256 ms/op 24.250 ms/op 0.79
BLS verifyMultipleSignatures 64 - blst-native 37.679 ms/op 49.201 ms/op 0.77
BLS verifyMultipleSignatures 128 - blst-native 73.902 ms/op 108.90 ms/op 0.68
BLS deserializing 10000 signatures 805.25 ms/op 991.14 ms/op 0.81
BLS deserializing 100000 signatures 8.3547 s/op 9.1570 s/op 0.91
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.2003 ms/op 1.4837 ms/op 0.81
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.3421 ms/op 1.5447 ms/op 0.87
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.2966 ms/op 2.4032 ms/op 0.96
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.6314 ms/op 3.5443 ms/op 1.02
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.1100 ms/op 5.6694 ms/op 0.90
BLS aggregatePubkeys 32 - blst-native 22.987 us/op 26.180 us/op 0.88
BLS aggregatePubkeys 128 - blst-native 87.994 us/op 101.38 us/op 0.87
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 37.028 ms/op 63.669 ms/op 0.58
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 39.149 ms/op 55.744 ms/op 0.70
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 26.751 ms/op 46.464 ms/op 0.58
getSlashingsAndExits - default max 153.45 us/op 298.90 us/op 0.51
getSlashingsAndExits - 2k 376.77 us/op 586.30 us/op 0.64
proposeBlockBody type=full, size=empty 3.9802 ms/op 6.7576 ms/op 0.59
isKnown best case - 1 super set check 323.00 ns/op 603.00 ns/op 0.54
isKnown normal case - 2 super set checks 342.00 ns/op 660.00 ns/op 0.52
isKnown worse case - 16 super set checks 335.00 ns/op 636.00 ns/op 0.53
CheckpointStateCache - add get delete 4.6300 us/op 6.7500 us/op 0.69
validate api signedAggregateAndProof - struct 2.3487 ms/op 2.9278 ms/op 0.80
validate gossip signedAggregateAndProof - struct 2.3655 ms/op 2.9100 ms/op 0.81
validate gossip attestation - vc 640000 1.1245 ms/op 1.4562 ms/op 0.77
batch validate gossip attestation - vc 640000 - chunk 32 143.45 us/op 177.20 us/op 0.81
batch validate gossip attestation - vc 640000 - chunk 64 122.83 us/op 155.73 us/op 0.79
batch validate gossip attestation - vc 640000 - chunk 128 126.08 us/op 151.09 us/op 0.83
batch validate gossip attestation - vc 640000 - chunk 256 121.45 us/op 146.68 us/op 0.83
pickEth1Vote - no votes 960.60 us/op 1.2724 ms/op 0.75
pickEth1Vote - max votes 14.536 ms/op 12.208 ms/op 1.19
pickEth1Vote - Eth1Data hashTreeRoot value x2048 12.697 ms/op 21.625 ms/op 0.59
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 22.384 ms/op 29.769 ms/op 0.75
pickEth1Vote - Eth1Data fastSerialize value x2048 433.70 us/op 692.41 us/op 0.63
pickEth1Vote - Eth1Data fastSerialize tree x2048 7.1341 ms/op 4.8067 ms/op 1.48
bytes32 toHexString 507.00 ns/op 600.00 ns/op 0.84
bytes32 Buffer.toString(hex) 347.00 ns/op 312.00 ns/op 1.11
bytes32 Buffer.toString(hex) from Uint8Array 450.00 ns/op 526.00 ns/op 0.86
bytes32 Buffer.toString(hex) + 0x 374.00 ns/op 323.00 ns/op 1.16
Object access 1 prop 0.22000 ns/op 0.18300 ns/op 1.20
Map access 1 prop 0.23100 ns/op 0.15200 ns/op 1.52
Object get x1000 5.0050 ns/op 7.1670 ns/op 0.70
Map get x1000 0.83600 ns/op 0.82000 ns/op 1.02
Object set x1000 34.633 ns/op 53.412 ns/op 0.65
Map set x1000 21.711 ns/op 44.014 ns/op 0.49
Return object 10000 times 0.22790 ns/op 0.24650 ns/op 0.92
Throw Error 10000 times 2.7343 us/op 3.9677 us/op 0.69
fastMsgIdFn sha256 / 200 bytes 2.0790 us/op 3.3440 us/op 0.62
fastMsgIdFn h32 xxhash / 200 bytes 360.00 ns/op 327.00 ns/op 1.10
fastMsgIdFn h64 xxhash / 200 bytes 400.00 ns/op 387.00 ns/op 1.03
fastMsgIdFn sha256 / 1000 bytes 6.4700 us/op 11.784 us/op 0.55
fastMsgIdFn h32 xxhash / 1000 bytes 499.00 ns/op 477.00 ns/op 1.05
fastMsgIdFn h64 xxhash / 1000 bytes 447.00 ns/op 455.00 ns/op 0.98
fastMsgIdFn sha256 / 10000 bytes 51.935 us/op 106.72 us/op 0.49
fastMsgIdFn h32 xxhash / 10000 bytes 1.8670 us/op 2.0700 us/op 0.90
fastMsgIdFn h64 xxhash / 10000 bytes 1.3150 us/op 1.4370 us/op 0.92
send data - 1000 256B messages 12.684 ms/op 20.379 ms/op 0.62
send data - 1000 512B messages 18.977 ms/op 28.337 ms/op 0.67
send data - 1000 1024B messages 30.247 ms/op 42.255 ms/op 0.72
send data - 1000 1200B messages 31.788 ms/op 42.679 ms/op 0.74
send data - 1000 2048B messages 40.380 ms/op 48.745 ms/op 0.83
send data - 1000 4096B messages 40.953 ms/op 46.813 ms/op 0.87
send data - 1000 16384B messages 97.578 ms/op 124.51 ms/op 0.78
send data - 1000 65536B messages 429.46 ms/op 525.41 ms/op 0.82
enrSubnets - fastDeserialize 64 bits 1.0710 us/op 1.5860 us/op 0.68
enrSubnets - ssz BitVector 64 bits 548.00 ns/op 551.00 ns/op 0.99
enrSubnets - fastDeserialize 4 bits 261.00 ns/op 237.00 ns/op 1.10
enrSubnets - ssz BitVector 4 bits 477.00 ns/op 553.00 ns/op 0.86
prioritizePeers score -10:0 att 32-0.1 sync 2-0 74.448 us/op 129.74 us/op 0.57
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 83.325 us/op 162.19 us/op 0.51
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 133.14 us/op 224.72 us/op 0.59
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 203.19 us/op 387.45 us/op 0.52
prioritizePeers score 0:0 att 64-1 sync 4-1 230.40 us/op 447.22 us/op 0.52
array of 16000 items push then shift 1.3532 us/op 2.2528 us/op 0.60
LinkedList of 16000 items push then shift 7.6030 ns/op 12.713 ns/op 0.60
array of 16000 items push then pop 106.32 ns/op 136.69 ns/op 0.78
LinkedList of 16000 items push then pop 6.6160 ns/op 10.771 ns/op 0.61
array of 24000 items push then shift 1.9705 us/op 2.8742 us/op 0.69
LinkedList of 24000 items push then shift 7.9600 ns/op 11.508 ns/op 0.69
array of 24000 items push then pop 145.56 ns/op 178.53 ns/op 0.82
LinkedList of 24000 items push then pop 6.5370 ns/op 10.945 ns/op 0.60
intersect bitArray bitLen 8 4.7170 ns/op 6.9010 ns/op 0.68
intersect array and set length 8 53.171 ns/op 96.072 ns/op 0.55
intersect bitArray bitLen 128 28.935 ns/op 39.030 ns/op 0.74
intersect array and set length 128 692.95 ns/op 1.3896 us/op 0.50
bitArray.getTrueBitIndexes() bitLen 128 1.4380 us/op 2.0620 us/op 0.70
bitArray.getTrueBitIndexes() bitLen 248 2.6650 us/op 3.5250 us/op 0.76
bitArray.getTrueBitIndexes() bitLen 512 5.2150 us/op 6.8790 us/op 0.76
Buffer.concat 32 items 932.00 ns/op 1.1210 us/op 0.83
Uint8Array.set 32 items 2.1170 us/op 2.4880 us/op 0.85
Set add up to 64 items then delete first 2.7383 us/op 5.0722 us/op 0.54
OrderedSet add up to 64 items then delete first 3.2145 us/op 6.8496 us/op 0.47
Set add up to 64 items then delete last 2.7380 us/op 5.7123 us/op 0.48
OrderedSet add up to 64 items then delete last 3.6322 us/op 7.2624 us/op 0.50
Set add up to 64 items then delete middle 2.5512 us/op 5.5551 us/op 0.46
OrderedSet add up to 64 items then delete middle 4.6665 us/op 8.6158 us/op 0.54
Set add up to 128 items then delete first 4.0613 us/op 11.505 us/op 0.35
OrderedSet add up to 128 items then delete first 7.0663 us/op 17.056 us/op 0.41
Set add up to 128 items then delete last 3.9077 us/op 11.262 us/op 0.35
OrderedSet add up to 128 items then delete last 5.9509 us/op 15.261 us/op 0.39
Set add up to 128 items then delete middle 3.8489 us/op 11.640 us/op 0.33
OrderedSet add up to 128 items then delete middle 11.659 us/op 20.842 us/op 0.56
Set add up to 256 items then delete first 8.1963 us/op 23.063 us/op 0.36
OrderedSet add up to 256 items then delete first 12.723 us/op 32.618 us/op 0.39
Set add up to 256 items then delete last 7.7062 us/op 23.370 us/op 0.33
OrderedSet add up to 256 items then delete last 11.841 us/op 31.128 us/op 0.38
Set add up to 256 items then delete middle 8.4700 us/op 22.991 us/op 0.37
OrderedSet add up to 256 items then delete middle 37.748 us/op 54.892 us/op 0.69
transfer serialized Status (84 B) 1.7510 us/op 2.4260 us/op 0.72
copy serialized Status (84 B) 1.4620 us/op 1.6350 us/op 0.89
transfer serialized SignedVoluntaryExit (112 B) 1.9010 us/op 2.4040 us/op 0.79
copy serialized SignedVoluntaryExit (112 B) 1.4580 us/op 2.2470 us/op 0.65
transfer serialized ProposerSlashing (416 B) 2.1190 us/op 3.4510 us/op 0.61
copy serialized ProposerSlashing (416 B) 1.9760 us/op 3.1060 us/op 0.64
transfer serialized Attestation (485 B) 2.5720 us/op 3.0300 us/op 0.85
copy serialized Attestation (485 B) 1.9440 us/op 2.9720 us/op 0.65
transfer serialized AttesterSlashing (33232 B) 1.7930 us/op 3.4560 us/op 0.52
copy serialized AttesterSlashing (33232 B) 6.5280 us/op 17.676 us/op 0.37
transfer serialized Small SignedBeaconBlock (128000 B) 2.1480 us/op 4.8540 us/op 0.44
copy serialized Small SignedBeaconBlock (128000 B) 23.895 us/op 39.581 us/op 0.60
transfer serialized Avg SignedBeaconBlock (200000 B) 2.5920 us/op 3.6840 us/op 0.70
copy serialized Avg SignedBeaconBlock (200000 B) 36.190 us/op 53.688 us/op 0.67
transfer serialized BlobsSidecar (524380 B) 2.6750 us/op 5.6470 us/op 0.47
copy serialized BlobsSidecar (524380 B) 137.46 us/op 260.68 us/op 0.53
transfer serialized Big SignedBeaconBlock (1000000 B) 2.4900 us/op 5.7450 us/op 0.43
copy serialized Big SignedBeaconBlock (1000000 B) 370.04 us/op 478.99 us/op 0.77
pass gossip attestations to forkchoice per slot 3.0468 ms/op 4.1934 ms/op 0.73
forkChoice updateHead vc 100000 bc 64 eq 0 444.18 us/op 725.78 us/op 0.61
forkChoice updateHead vc 600000 bc 64 eq 0 2.6850 ms/op 4.6407 ms/op 0.58
forkChoice updateHead vc 1000000 bc 64 eq 0 4.6984 ms/op 8.0277 ms/op 0.59
forkChoice updateHead vc 600000 bc 320 eq 0 2.7204 ms/op 4.7606 ms/op 0.57
forkChoice updateHead vc 600000 bc 1200 eq 0 2.8981 ms/op 4.7439 ms/op 0.61
forkChoice updateHead vc 600000 bc 7200 eq 0 3.4953 ms/op 5.6388 ms/op 0.62
forkChoice updateHead vc 600000 bc 64 eq 1000 9.8542 ms/op 12.117 ms/op 0.81
forkChoice updateHead vc 600000 bc 64 eq 10000 9.8432 ms/op 13.169 ms/op 0.75
forkChoice updateHead vc 600000 bc 64 eq 300000 12.415 ms/op 21.915 ms/op 0.57
computeDeltas 500000 validators 300 proto nodes 3.3715 ms/op 7.5134 ms/op 0.45
computeDeltas 500000 validators 1200 proto nodes 3.1968 ms/op 8.2616 ms/op 0.39
computeDeltas 500000 validators 7200 proto nodes 3.2909 ms/op 7.6798 ms/op 0.43
computeDeltas 750000 validators 300 proto nodes 4.8790 ms/op 11.062 ms/op 0.44
computeDeltas 750000 validators 1200 proto nodes 4.7897 ms/op 11.118 ms/op 0.43
computeDeltas 750000 validators 7200 proto nodes 4.5849 ms/op 10.422 ms/op 0.44
computeDeltas 1400000 validators 300 proto nodes 9.3329 ms/op 20.674 ms/op 0.45
computeDeltas 1400000 validators 1200 proto nodes 9.2748 ms/op 21.141 ms/op 0.44
computeDeltas 1400000 validators 7200 proto nodes 9.4437 ms/op 20.394 ms/op 0.46
computeDeltas 2100000 validators 300 proto nodes 13.582 ms/op 30.240 ms/op 0.45
computeDeltas 2100000 validators 1200 proto nodes 13.672 ms/op 30.540 ms/op 0.45
computeDeltas 2100000 validators 7200 proto nodes 13.746 ms/op 31.472 ms/op 0.44
altair processAttestation - 250000 vs - 7PWei normalcase 1.5254 ms/op 2.7128 ms/op 0.56
altair processAttestation - 250000 vs - 7PWei worstcase 2.8124 ms/op 4.9741 ms/op 0.57
altair processAttestation - setStatus - 1/6 committees join 76.618 us/op 212.32 us/op 0.36
altair processAttestation - setStatus - 1/3 committees join 163.10 us/op 388.84 us/op 0.42
altair processAttestation - setStatus - 1/2 committees join 234.07 us/op 495.79 us/op 0.47
altair processAttestation - setStatus - 2/3 committees join 301.99 us/op 609.41 us/op 0.50
altair processAttestation - setStatus - 4/5 committees join 431.78 us/op 856.35 us/op 0.50
altair processAttestation - setStatus - 100% committees join 471.69 us/op 1.0061 ms/op 0.47
altair processBlock - 250000 vs - 7PWei normalcase 9.7878 ms/op 12.006 ms/op 0.82
altair processBlock - 250000 vs - 7PWei normalcase hashState 35.147 ms/op 36.628 ms/op 0.96
altair processBlock - 250000 vs - 7PWei worstcase 35.884 ms/op 42.875 ms/op 0.84
altair processBlock - 250000 vs - 7PWei worstcase hashState 88.838 ms/op 94.588 ms/op 0.94
phase0 processBlock - 250000 vs - 7PWei normalcase 3.1489 ms/op 2.7122 ms/op 1.16
phase0 processBlock - 250000 vs - 7PWei worstcase 28.623 ms/op 33.574 ms/op 0.85
altair processEth1Data - 250000 vs - 7PWei normalcase 508.94 us/op 692.33 us/op 0.74
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 16.728 us/op 10.430 us/op 1.60
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 53.736 us/op 72.723 us/op 0.74
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 20.826 us/op 14.363 us/op 1.45
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 13.901 us/op 12.732 us/op 1.09
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 155.73 us/op 173.93 us/op 0.90
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 962.10 us/op 1.3561 ms/op 0.71
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.2334 ms/op 1.9619 ms/op 0.63
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.1473 ms/op 2.1028 ms/op 0.55
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.1273 ms/op 4.6146 ms/op 0.46
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.9134 ms/op 3.1841 ms/op 0.60
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 5.4394 ms/op 7.4284 ms/op 0.73
Tree 40 250000 create 322.78 ms/op 830.56 ms/op 0.39
Tree 40 250000 get(125000) 128.21 ns/op 230.55 ns/op 0.56
Tree 40 250000 set(125000) 1.3808 us/op 2.6068 us/op 0.53
Tree 40 250000 toArray() 21.839 ms/op 30.503 ms/op 0.72
Tree 40 250000 iterate all - toArray() + loop 22.055 ms/op 25.474 ms/op 0.87
Tree 40 250000 iterate all - get(i) 54.390 ms/op 79.700 ms/op 0.68
MutableVector 250000 create 12.391 ms/op 18.615 ms/op 0.67
MutableVector 250000 get(125000) 5.7030 ns/op 7.0330 ns/op 0.81
MutableVector 250000 set(125000) 242.36 ns/op 714.90 ns/op 0.34
MutableVector 250000 toArray() 2.4059 ms/op 4.8762 ms/op 0.49
MutableVector 250000 iterate all - toArray() + loop 4.0604 ms/op 5.4138 ms/op 0.75
MutableVector 250000 iterate all - get(i) 1.4803 ms/op 1.6235 ms/op 0.91
Array 250000 create 3.5264 ms/op 4.3544 ms/op 0.81
Array 250000 clone - spread 1.3771 ms/op 2.2759 ms/op 0.61
Array 250000 get(125000) 1.3270 ns/op 2.5700 ns/op 0.52
Array 250000 set(125000) 1.4890 ns/op 6.2110 ns/op 0.24
Array 250000 iterate all - loop 160.54 us/op 189.85 us/op 0.85
effectiveBalanceIncrements clone Uint8Array 300000 15.871 us/op 74.795 us/op 0.21
effectiveBalanceIncrements clone MutableVector 300000 459.00 ns/op 644.00 ns/op 0.71
effectiveBalanceIncrements rw all Uint8Array 300000 193.31 us/op 219.92 us/op 0.88
effectiveBalanceIncrements rw all MutableVector 300000 175.87 ms/op 222.55 ms/op 0.79
phase0 afterProcessEpoch - 250000 vs - 7PWei 94.557 ms/op 144.81 ms/op 0.65
phase0 beforeProcessEpoch - 250000 vs - 7PWei 44.330 ms/op 54.077 ms/op 0.82
altair processEpoch - mainnet_e81889 520.58 ms/op 696.69 ms/op 0.75
mainnet_e81889 - altair beforeProcessEpoch 86.871 ms/op 131.01 ms/op 0.66
mainnet_e81889 - altair processJustificationAndFinalization 20.630 us/op 33.596 us/op 0.61
mainnet_e81889 - altair processInactivityUpdates 6.9428 ms/op 10.091 ms/op 0.69
mainnet_e81889 - altair processRewardsAndPenalties 63.837 ms/op 84.959 ms/op 0.75
mainnet_e81889 - altair processRegistryUpdates 3.0920 us/op 6.5360 us/op 0.47
mainnet_e81889 - altair processSlashings 923.00 ns/op 951.00 ns/op 0.97
mainnet_e81889 - altair processEth1DataReset 691.00 ns/op 1.1840 us/op 0.58
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.0356 ms/op 2.1945 ms/op 0.47
mainnet_e81889 - altair processSlashingsReset 3.6610 us/op 8.2410 us/op 0.44
mainnet_e81889 - altair processRandaoMixesReset 5.7860 us/op 12.617 us/op 0.46
mainnet_e81889 - altair processHistoricalRootsUpdate 745.00 ns/op 1.1910 us/op 0.63
mainnet_e81889 - altair processParticipationFlagUpdates 1.7730 us/op 3.2360 us/op 0.55
mainnet_e81889 - altair processSyncCommitteeUpdates 630.00 ns/op 864.00 ns/op 0.73
mainnet_e81889 - altair afterProcessEpoch 83.424 ms/op 133.21 ms/op 0.63
capella processEpoch - mainnet_e217614 2.2989 s/op 3.4680 s/op 0.66
mainnet_e217614 - capella beforeProcessEpoch 445.64 ms/op 576.65 ms/op 0.77
mainnet_e217614 - capella processJustificationAndFinalization 14.679 us/op 21.192 us/op 0.69
mainnet_e217614 - capella processInactivityUpdates 15.962 ms/op 24.678 ms/op 0.65
mainnet_e217614 - capella processRewardsAndPenalties 394.89 ms/op 532.83 ms/op 0.74
mainnet_e217614 - capella processRegistryUpdates 21.050 us/op 38.779 us/op 0.54
mainnet_e217614 - capella processSlashings 865.00 ns/op 956.00 ns/op 0.90
mainnet_e217614 - capella processEth1DataReset 529.00 ns/op 754.00 ns/op 0.70
mainnet_e217614 - capella processEffectiveBalanceUpdates 6.8210 ms/op 5.9759 ms/op 1.14
mainnet_e217614 - capella processSlashingsReset 3.1430 us/op 5.2140 us/op 0.60
mainnet_e217614 - capella processRandaoMixesReset 4.3260 us/op 8.4150 us/op 0.51
mainnet_e217614 - capella processHistoricalRootsUpdate 704.00 ns/op 1.1180 us/op 0.63
mainnet_e217614 - capella processParticipationFlagUpdates 1.3320 us/op 4.6680 us/op 0.29
mainnet_e217614 - capella afterProcessEpoch 211.59 ms/op 331.76 ms/op 0.64
phase0 processEpoch - mainnet_e58758 319.94 ms/op 488.76 ms/op 0.65
mainnet_e58758 - phase0 beforeProcessEpoch 109.79 ms/op 162.76 ms/op 0.67
mainnet_e58758 - phase0 processJustificationAndFinalization 17.518 us/op 22.349 us/op 0.78
mainnet_e58758 - phase0 processRewardsAndPenalties 50.960 ms/op 66.732 ms/op 0.76
mainnet_e58758 - phase0 processRegistryUpdates 10.778 us/op 22.821 us/op 0.47
mainnet_e58758 - phase0 processSlashings 566.00 ns/op 831.00 ns/op 0.68
mainnet_e58758 - phase0 processEth1DataReset 660.00 ns/op 1.0260 us/op 0.64
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.3012 ms/op 1.9292 ms/op 0.67
mainnet_e58758 - phase0 processSlashingsReset 2.8440 us/op 6.9510 us/op 0.41
mainnet_e58758 - phase0 processRandaoMixesReset 2.9000 us/op 9.9830 us/op 0.29
mainnet_e58758 - phase0 processHistoricalRootsUpdate 589.00 ns/op 1.0800 us/op 0.55
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.2970 us/op 9.7010 us/op 0.34
mainnet_e58758 - phase0 afterProcessEpoch 64.306 ms/op 114.43 ms/op 0.56
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.0528 ms/op 2.3909 ms/op 0.44
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.1437 ms/op 2.7490 ms/op 0.42
altair processInactivityUpdates - 250000 normalcase 19.883 ms/op 41.049 ms/op 0.48
altair processInactivityUpdates - 250000 worstcase 23.111 ms/op 42.925 ms/op 0.54
phase0 processRegistryUpdates - 250000 normalcase 10.051 us/op 25.903 us/op 0.39
phase0 processRegistryUpdates - 250000 badcase_full_deposits 531.04 us/op 689.67 us/op 0.77
phase0 processRegistryUpdates - 250000 worstcase 0.5 135.85 ms/op 228.58 ms/op 0.59
altair processRewardsAndPenalties - 250000 normalcase 59.766 ms/op 68.078 ms/op 0.88
altair processRewardsAndPenalties - 250000 worstcase 55.591 ms/op 77.278 ms/op 0.72
phase0 getAttestationDeltas - 250000 normalcase 5.8415 ms/op 13.321 ms/op 0.44
phase0 getAttestationDeltas - 250000 worstcase 5.9861 ms/op 13.035 ms/op 0.46
phase0 processSlashings - 250000 worstcase 89.524 us/op 140.96 us/op 0.64
altair processSyncCommitteeUpdates - 250000 120.51 ms/op 181.79 ms/op 0.66
BeaconState.hashTreeRoot - No change 646.00 ns/op 832.00 ns/op 0.78
BeaconState.hashTreeRoot - 1 full validator 117.19 us/op 170.18 us/op 0.69
BeaconState.hashTreeRoot - 32 full validator 1.0596 ms/op 1.9683 ms/op 0.54
BeaconState.hashTreeRoot - 512 full validator 12.129 ms/op 20.288 ms/op 0.60
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 119.55 us/op 194.69 us/op 0.61
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.9684 ms/op 2.7560 ms/op 0.71
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 26.906 ms/op 39.202 ms/op 0.69
BeaconState.hashTreeRoot - 1 balances 102.17 us/op 181.48 us/op 0.56
BeaconState.hashTreeRoot - 32 balances 1.1628 ms/op 1.8353 ms/op 0.63
BeaconState.hashTreeRoot - 512 balances 8.1527 ms/op 17.283 ms/op 0.47
BeaconState.hashTreeRoot - 250000 balances 145.64 ms/op 268.58 ms/op 0.54
aggregationBits - 2048 els - zipIndexesInBitList 14.211 us/op 28.436 us/op 0.50
byteArrayEquals 32 64.273 ns/op 80.230 ns/op 0.80
Buffer.compare 32 35.991 ns/op 59.680 ns/op 0.60
byteArrayEquals 1024 1.6409 us/op 2.4619 us/op 0.67
Buffer.compare 1024 43.247 ns/op 76.744 ns/op 0.56
byteArrayEquals 16384 27.566 us/op 40.569 us/op 0.68
Buffer.compare 16384 205.28 ns/op 294.93 ns/op 0.70
byteArrayEquals 123687377 202.43 ms/op 264.93 ms/op 0.76
Buffer.compare 123687377 4.4251 ms/op 9.8345 ms/op 0.45
byteArrayEquals 32 - diff last byte 61.289 ns/op 83.283 ns/op 0.74
Buffer.compare 32 - diff last byte 37.957 ns/op 60.758 ns/op 0.62
byteArrayEquals 1024 - diff last byte 1.6014 us/op 2.1176 us/op 0.76
Buffer.compare 1024 - diff last byte 41.751 ns/op 76.146 ns/op 0.55
byteArrayEquals 16384 - diff last byte 25.879 us/op 34.723 us/op 0.75
Buffer.compare 16384 - diff last byte 223.59 ns/op 292.00 ns/op 0.77
byteArrayEquals 123687377 - diff last byte 206.04 ms/op 279.17 ms/op 0.74
Buffer.compare 123687377 - diff last byte 4.4953 ms/op 12.230 ms/op 0.37
byteArrayEquals 32 - random bytes 4.7390 ns/op 7.0680 ns/op 0.67
Buffer.compare 32 - random bytes 39.637 ns/op 68.712 ns/op 0.58
byteArrayEquals 1024 - random bytes 4.4170 ns/op 6.9350 ns/op 0.64
Buffer.compare 1024 - random bytes 37.690 ns/op 67.521 ns/op 0.56
byteArrayEquals 16384 - random bytes 4.4170 ns/op 7.2940 ns/op 0.61
Buffer.compare 16384 - random bytes 37.933 ns/op 65.389 ns/op 0.58
byteArrayEquals 123687377 - random bytes 7.8400 ns/op 10.460 ns/op 0.75
Buffer.compare 123687377 - random bytes 41.770 ns/op 83.810 ns/op 0.50
regular array get 100000 times 42.457 us/op 48.780 us/op 0.87
wrappedArray get 100000 times 42.499 us/op 48.566 us/op 0.88
arrayWithProxy get 100000 times 10.531 ms/op 14.897 ms/op 0.71
ssz.Root.equals 55.570 ns/op 56.826 ns/op 0.98
byteArrayEquals 54.877 ns/op 56.422 ns/op 0.97
Buffer.compare 10.268 ns/op 12.636 ns/op 0.81
shuffle list - 16384 els 4.7314 ms/op 7.4680 ms/op 0.63
shuffle list - 250000 els 69.538 ms/op 111.49 ms/op 0.62
processSlot - 1 slots 13.313 us/op 19.537 us/op 0.68
processSlot - 32 slots 2.1094 ms/op 4.3820 ms/op 0.48
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 47.197 ms/op 64.649 ms/op 0.73
getCommitteeAssignments - req 1 vs - 250000 vc 2.2810 ms/op 2.7683 ms/op 0.82
getCommitteeAssignments - req 100 vs - 250000 vc 3.4560 ms/op 3.8945 ms/op 0.89
getCommitteeAssignments - req 1000 vs - 250000 vc 3.7025 ms/op 4.3041 ms/op 0.86
findModifiedValidators - 10000 modified validators 444.34 ms/op 572.33 ms/op 0.78
findModifiedValidators - 1000 modified validators 420.53 ms/op 478.97 ms/op 0.88
findModifiedValidators - 100 modified validators 323.83 ms/op 545.89 ms/op 0.59
findModifiedValidators - 10 modified validators 371.91 ms/op 513.32 ms/op 0.72
findModifiedValidators - 1 modified validators 339.98 ms/op 491.18 ms/op 0.69
findModifiedValidators - no difference 317.09 ms/op 491.96 ms/op 0.64
compare ViewDUs 4.0954 s/op 5.1229 s/op 0.80
compare each validator Uint8Array 1.2943 s/op 2.0263 s/op 0.64
compare ViewDU to Uint8Array 921.01 ms/op 1.5932 s/op 0.58
migrate state 1000000 validators, 24 modified, 0 new 715.31 ms/op 1.0353 s/op 0.69
migrate state 1000000 validators, 1700 modified, 1000 new 1.1300 s/op 1.3377 s/op 0.84
migrate state 1000000 validators, 3400 modified, 2000 new 1.0639 s/op 1.6171 s/op 0.66
migrate state 1500000 validators, 24 modified, 0 new 663.02 ms/op 1.0201 s/op 0.65
migrate state 1500000 validators, 1700 modified, 1000 new 1.1564 s/op 1.2659 s/op 0.91
migrate state 1500000 validators, 3400 modified, 2000 new 1.3202 s/op 1.6838 s/op 0.78
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.6000 ns/op 4.9600 ns/op 0.93
state getBlockRootAtSlot - 250000 vs - 7PWei 535.72 ns/op 963.42 ns/op 0.56
computeProposers - vc 250000 5.8345 ms/op 11.647 ms/op 0.50
computeEpochShuffling - vc 250000 68.781 ms/op 112.52 ms/op 0.61
getNextSyncCommittee - vc 250000 107.46 ms/op 185.56 ms/op 0.58
computeSigningRoot for AttestationData 24.405 us/op 32.016 us/op 0.76
hash AttestationData serialized data then Buffer.toString(base64) 1.2580 us/op 2.4480 us/op 0.51
toHexString serialized data 826.35 ns/op 1.4097 us/op 0.59
Buffer.toString(base64) 178.27 ns/op 258.19 ns/op 0.69

by benchmarkbot/action

@ensi321 ensi321 merged commit 3ef43ef into unstable Mar 1, 2024
20 checks passed
@ensi321 ensi321 deleted the nflaig/update-node-version branch March 1, 2024 09:14
@wemeetagain
Copy link
Member

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