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

fix: revert yamux #6990

Merged
merged 2 commits into from
Aug 1, 2024
Merged

fix: revert yamux #6990

merged 2 commits into from
Aug 1, 2024

Conversation

twoeths
Copy link
Contributor

@twoeths twoeths commented Jul 31, 2024

Motivation

Peers are not stable on the beta/unstable mainnet node, see #6989

Description

@twoeths twoeths changed the title Te/revert yamux fix: revert yamux Jul 31, 2024
Copy link

codecov bot commented Jul 31, 2024

Codecov Report

Attention: Patch coverage is 0% with 1 line in your changes missing coverage. Please review.

Project coverage is 62.49%. Comparing base (2f9275e) to head (d290662).

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #6990      +/-   ##
============================================
- Coverage     62.49%   62.49%   -0.01%     
============================================
  Files           576      576              
  Lines         61199    61198       -1     
  Branches       2137     2142       +5     
============================================
- Hits          38246    38245       -1     
  Misses        22914    22914              
  Partials         39       39              

Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 45f6cbc Previous: 2f9275e Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.8176 ms/op 3.1460 ms/op 0.58
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 70.226 us/op 119.01 us/op 0.59
BLS verify - blst 816.12 us/op 936.54 us/op 0.87
BLS verifyMultipleSignatures 3 - blst 1.3961 ms/op 1.3896 ms/op 1.00
BLS verifyMultipleSignatures 8 - blst 2.1098 ms/op 2.5938 ms/op 0.81
BLS verifyMultipleSignatures 32 - blst 4.6363 ms/op 7.5454 ms/op 0.61
BLS verifyMultipleSignatures 64 - blst 8.6016 ms/op 12.345 ms/op 0.70
BLS verifyMultipleSignatures 128 - blst 16.207 ms/op 23.708 ms/op 0.68
BLS deserializing 10000 signatures 628.79 ms/op 813.23 ms/op 0.77
BLS deserializing 100000 signatures 6.4116 s/op 7.9370 s/op 0.81
BLS verifyMultipleSignatures - same message - 3 - blst 1.0148 ms/op 1.1329 ms/op 0.90
BLS verifyMultipleSignatures - same message - 8 - blst 1.1450 ms/op 1.4253 ms/op 0.80
BLS verifyMultipleSignatures - same message - 32 - blst 1.7347 ms/op 2.7781 ms/op 0.62
BLS verifyMultipleSignatures - same message - 64 - blst 2.6118 ms/op 3.1267 ms/op 0.84
BLS verifyMultipleSignatures - same message - 128 - blst 4.2608 ms/op 5.1104 ms/op 0.83
BLS aggregatePubkeys 32 - blst 19.868 us/op 22.293 us/op 0.89
BLS aggregatePubkeys 128 - blst 67.367 us/op 77.276 us/op 0.87
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 52.016 ms/op 122.88 ms/op 0.42
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 47.610 ms/op 99.890 ms/op 0.48
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 32.772 ms/op 63.551 ms/op 0.52
getSlashingsAndExits - default max 108.21 us/op 286.02 us/op 0.38
getSlashingsAndExits - 2k 250.67 us/op 472.56 us/op 0.53
proposeBlockBody type=full, size=empty 5.1973 ms/op 8.3466 ms/op 0.62
isKnown best case - 1 super set check 461.00 ns/op 697.00 ns/op 0.66
isKnown normal case - 2 super set checks 441.00 ns/op 735.00 ns/op 0.60
isKnown worse case - 16 super set checks 439.00 ns/op 749.00 ns/op 0.59
InMemoryCheckpointStateCache - add get delete 4.3540 us/op 7.8930 us/op 0.55
validate api signedAggregateAndProof - struct 1.4922 ms/op 2.0735 ms/op 0.72
validate gossip signedAggregateAndProof - struct 1.4661 ms/op 1.9438 ms/op 0.75
validate gossip attestation - vc 640000 971.41 us/op 1.0810 ms/op 0.90
batch validate gossip attestation - vc 640000 - chunk 32 120.54 us/op 193.72 us/op 0.62
batch validate gossip attestation - vc 640000 - chunk 64 101.64 us/op 164.97 us/op 0.62
batch validate gossip attestation - vc 640000 - chunk 128 94.471 us/op 107.41 us/op 0.88
batch validate gossip attestation - vc 640000 - chunk 256 93.655 us/op 111.94 us/op 0.84
pickEth1Vote - no votes 837.38 us/op 1.6890 ms/op 0.50
pickEth1Vote - max votes 8.0980 ms/op 12.957 ms/op 0.62
pickEth1Vote - Eth1Data hashTreeRoot value x2048 14.074 ms/op 13.690 ms/op 1.03
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 20.624 ms/op 17.351 ms/op 1.19
pickEth1Vote - Eth1Data fastSerialize value x2048 350.29 us/op 530.35 us/op 0.66
pickEth1Vote - Eth1Data fastSerialize tree x2048 6.5122 ms/op 4.9358 ms/op 1.32
bytes32 toHexString 581.00 ns/op 747.00 ns/op 0.78
bytes32 Buffer.toString(hex) 430.00 ns/op 296.00 ns/op 1.45
bytes32 Buffer.toString(hex) from Uint8Array 547.00 ns/op 489.00 ns/op 1.12
bytes32 Buffer.toString(hex) + 0x 436.00 ns/op 345.00 ns/op 1.26
Object access 1 prop 0.31900 ns/op 0.20400 ns/op 1.56
Map access 1 prop 0.31900 ns/op 0.15300 ns/op 2.08
Object get x1000 5.2520 ns/op 6.2270 ns/op 0.84
Map get x1000 5.9220 ns/op 6.6760 ns/op 0.89
Object set x1000 22.339 ns/op 34.810 ns/op 0.64
Map set x1000 18.694 ns/op 26.179 ns/op 0.71
Return object 10000 times 0.29810 ns/op 0.31860 ns/op 0.94
Throw Error 10000 times 2.7269 us/op 3.6624 us/op 0.74
fastMsgIdFn sha256 / 200 bytes 1.9810 us/op 2.3350 us/op 0.85
fastMsgIdFn h32 xxhash / 200 bytes 405.00 ns/op 266.00 ns/op 1.52
fastMsgIdFn h64 xxhash / 200 bytes 460.00 ns/op 280.00 ns/op 1.64
fastMsgIdFn sha256 / 1000 bytes 6.0840 us/op 7.5980 us/op 0.80
fastMsgIdFn h32 xxhash / 1000 bytes 524.00 ns/op 436.00 ns/op 1.20
fastMsgIdFn h64 xxhash / 1000 bytes 527.00 ns/op 346.00 ns/op 1.52
fastMsgIdFn sha256 / 10000 bytes 50.922 us/op 67.781 us/op 0.75
fastMsgIdFn h32 xxhash / 10000 bytes 1.9090 us/op 1.9660 us/op 0.97
fastMsgIdFn h64 xxhash / 10000 bytes 1.3470 us/op 1.2760 us/op 1.06
send data - 1000 256B messages 9.9450 ms/op 13.602 ms/op 0.73
send data - 1000 512B messages 13.119 ms/op 17.450 ms/op 0.75
send data - 1000 1024B messages 21.218 ms/op 26.919 ms/op 0.79
send data - 1000 1200B messages 23.712 ms/op 27.268 ms/op 0.87
send data - 1000 2048B messages 29.833 ms/op 33.608 ms/op 0.89
send data - 1000 4096B messages 27.450 ms/op 32.033 ms/op 0.86
send data - 1000 16384B messages 58.191 ms/op 71.852 ms/op 0.81
send data - 1000 65536B messages 231.61 ms/op 222.90 ms/op 1.04
enrSubnets - fastDeserialize 64 bits 1.1740 us/op 1.2050 us/op 0.97
enrSubnets - ssz BitVector 64 bits 537.00 ns/op 443.00 ns/op 1.21
enrSubnets - fastDeserialize 4 bits 330.00 ns/op 163.00 ns/op 2.02
enrSubnets - ssz BitVector 4 bits 537.00 ns/op 378.00 ns/op 1.42
prioritizePeers score -10:0 att 32-0.1 sync 2-0 117.09 us/op 138.45 us/op 0.85
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 160.91 us/op 172.33 us/op 0.93
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 283.91 us/op 252.52 us/op 1.12
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 468.35 us/op 428.32 us/op 1.09
prioritizePeers score 0:0 att 64-1 sync 4-1 525.90 us/op 665.25 us/op 0.79
array of 16000 items push then shift 1.1932 us/op 1.7184 us/op 0.69
LinkedList of 16000 items push then shift 7.0150 ns/op 7.9810 ns/op 0.88
array of 16000 items push then pop 79.888 ns/op 134.73 ns/op 0.59
LinkedList of 16000 items push then pop 5.9690 ns/op 7.5630 ns/op 0.79
array of 24000 items push then shift 1.7197 us/op 2.5288 us/op 0.68
LinkedList of 24000 items push then shift 6.5700 ns/op 8.1540 ns/op 0.81
array of 24000 items push then pop 102.44 ns/op 159.09 ns/op 0.64
LinkedList of 24000 items push then pop 5.9150 ns/op 7.5500 ns/op 0.78
intersect bitArray bitLen 8 4.9380 ns/op 6.9540 ns/op 0.71
intersect array and set length 8 36.062 ns/op 48.031 ns/op 0.75
intersect bitArray bitLen 128 24.660 ns/op 31.169 ns/op 0.79
intersect array and set length 128 530.08 ns/op 719.09 ns/op 0.74
bitArray.getTrueBitIndexes() bitLen 128 1.7800 us/op 1.5080 us/op 1.18
bitArray.getTrueBitIndexes() bitLen 248 3.8770 us/op 2.3810 us/op 1.63
bitArray.getTrueBitIndexes() bitLen 512 6.2850 us/op 4.4990 us/op 1.40
Buffer.concat 32 items 972.00 ns/op 927.00 ns/op 1.05
Uint8Array.set 32 items 2.0070 us/op 2.3460 us/op 0.86
Buffer.copy 1.9950 us/op 2.6120 us/op 0.76
Uint8Array.set - with subarray 2.4230 us/op 3.5330 us/op 0.69
Uint8Array.set - without subarray 1.7530 us/op 1.6490 us/op 1.06
getUint32 - dataview 397.00 ns/op 246.00 ns/op 1.61
getUint32 - manual 307.00 ns/op 153.00 ns/op 2.01
Set add up to 64 items then delete first 1.6224 us/op 2.6976 us/op 0.60
OrderedSet add up to 64 items then delete first 2.5355 us/op 3.9268 us/op 0.65
Set add up to 64 items then delete last 1.8763 us/op 2.8544 us/op 0.66
OrderedSet add up to 64 items then delete last 2.9148 us/op 4.3953 us/op 0.66
Set add up to 64 items then delete middle 1.8609 us/op 2.6803 us/op 0.69
OrderedSet add up to 64 items then delete middle 4.2097 us/op 5.6304 us/op 0.75
Set add up to 128 items then delete first 3.5901 us/op 5.4240 us/op 0.66
OrderedSet add up to 128 items then delete first 5.4481 us/op 8.7561 us/op 0.62
Set add up to 128 items then delete last 3.6005 us/op 5.1637 us/op 0.70
OrderedSet add up to 128 items then delete last 5.6334 us/op 7.5276 us/op 0.75
Set add up to 128 items then delete middle 3.5849 us/op 4.9946 us/op 0.72
OrderedSet add up to 128 items then delete middle 10.989 us/op 13.888 us/op 0.79
Set add up to 256 items then delete first 7.1557 us/op 10.642 us/op 0.67
OrderedSet add up to 256 items then delete first 10.998 us/op 16.706 us/op 0.66
Set add up to 256 items then delete last 7.1110 us/op 10.096 us/op 0.70
OrderedSet add up to 256 items then delete last 11.392 us/op 14.989 us/op 0.76
Set add up to 256 items then delete middle 7.0414 us/op 9.8268 us/op 0.72
OrderedSet add up to 256 items then delete middle 32.013 us/op 45.005 us/op 0.71
transfer serialized Status (84 B) 1.4660 us/op 1.4390 us/op 1.02
copy serialized Status (84 B) 1.2600 us/op 1.2460 us/op 1.01
transfer serialized SignedVoluntaryExit (112 B) 1.6700 us/op 1.5370 us/op 1.09
copy serialized SignedVoluntaryExit (112 B) 1.3720 us/op 1.3510 us/op 1.02
transfer serialized ProposerSlashing (416 B) 2.5180 us/op 1.8930 us/op 1.33
copy serialized ProposerSlashing (416 B) 1.8590 us/op 1.7350 us/op 1.07
transfer serialized Attestation (485 B) 2.3190 us/op 1.8210 us/op 1.27
copy serialized Attestation (485 B) 1.8750 us/op 1.6790 us/op 1.12
transfer serialized AttesterSlashing (33232 B) 2.7120 us/op 1.8770 us/op 1.44
copy serialized AttesterSlashing (33232 B) 4.2940 us/op 5.0670 us/op 0.85
transfer serialized Small SignedBeaconBlock (128000 B) 2.5460 us/op 2.5550 us/op 1.00
copy serialized Small SignedBeaconBlock (128000 B) 9.7690 us/op 16.205 us/op 0.60
transfer serialized Avg SignedBeaconBlock (200000 B) 3.4940 us/op 3.0820 us/op 1.13
copy serialized Avg SignedBeaconBlock (200000 B) 13.549 us/op 22.685 us/op 0.60
transfer serialized BlobsSidecar (524380 B) 3.6480 us/op 3.4190 us/op 1.07
copy serialized BlobsSidecar (524380 B) 79.977 us/op 118.91 us/op 0.67
transfer serialized Big SignedBeaconBlock (1000000 B) 2.9670 us/op 3.3620 us/op 0.88
copy serialized Big SignedBeaconBlock (1000000 B) 138.31 us/op 253.89 us/op 0.54
pass gossip attestations to forkchoice per slot 2.7841 ms/op 3.4067 ms/op 0.82
forkChoice updateHead vc 100000 bc 64 eq 0 415.39 us/op 523.84 us/op 0.79
forkChoice updateHead vc 600000 bc 64 eq 0 2.4900 ms/op 3.4013 ms/op 0.73
forkChoice updateHead vc 1000000 bc 64 eq 0 4.2410 ms/op 5.6709 ms/op 0.75
forkChoice updateHead vc 600000 bc 320 eq 0 2.5286 ms/op 3.2368 ms/op 0.78
forkChoice updateHead vc 600000 bc 1200 eq 0 2.5766 ms/op 3.1462 ms/op 0.82
forkChoice updateHead vc 600000 bc 7200 eq 0 2.9029 ms/op 3.7370 ms/op 0.78
forkChoice updateHead vc 600000 bc 64 eq 1000 8.9468 ms/op 10.976 ms/op 0.82
forkChoice updateHead vc 600000 bc 64 eq 10000 8.8009 ms/op 11.055 ms/op 0.80
forkChoice updateHead vc 600000 bc 64 eq 300000 11.211 ms/op 15.813 ms/op 0.71
computeDeltas 500000 validators 300 proto nodes 2.9017 ms/op 3.6340 ms/op 0.80
computeDeltas 500000 validators 1200 proto nodes 2.9111 ms/op 3.6921 ms/op 0.79
computeDeltas 500000 validators 7200 proto nodes 2.8704 ms/op 3.6839 ms/op 0.78
computeDeltas 750000 validators 300 proto nodes 4.3821 ms/op 5.4012 ms/op 0.81
computeDeltas 750000 validators 1200 proto nodes 4.3275 ms/op 5.6017 ms/op 0.77
computeDeltas 750000 validators 7200 proto nodes 4.4128 ms/op 5.8292 ms/op 0.76
computeDeltas 1400000 validators 300 proto nodes 8.0898 ms/op 10.814 ms/op 0.75
computeDeltas 1400000 validators 1200 proto nodes 8.1404 ms/op 10.237 ms/op 0.80
computeDeltas 1400000 validators 7200 proto nodes 8.2012 ms/op 10.699 ms/op 0.77
computeDeltas 2100000 validators 300 proto nodes 12.077 ms/op 16.056 ms/op 0.75
computeDeltas 2100000 validators 1200 proto nodes 12.191 ms/op 15.750 ms/op 0.77
computeDeltas 2100000 validators 7200 proto nodes 12.187 ms/op 15.144 ms/op 0.80
altair processAttestation - 250000 vs - 7PWei normalcase 1.3313 ms/op 1.7209 ms/op 0.77
altair processAttestation - 250000 vs - 7PWei worstcase 1.9794 ms/op 2.5452 ms/op 0.78
altair processAttestation - setStatus - 1/6 committees join 67.414 us/op 90.911 us/op 0.74
altair processAttestation - setStatus - 1/3 committees join 122.67 us/op 182.06 us/op 0.67
altair processAttestation - setStatus - 1/2 committees join 187.36 us/op 251.45 us/op 0.75
altair processAttestation - setStatus - 2/3 committees join 249.03 us/op 331.23 us/op 0.75
altair processAttestation - setStatus - 4/5 committees join 367.95 us/op 473.41 us/op 0.78
altair processAttestation - setStatus - 100% committees join 442.42 us/op 574.80 us/op 0.77
altair processBlock - 250000 vs - 7PWei normalcase 3.4435 ms/op 4.8832 ms/op 0.71
altair processBlock - 250000 vs - 7PWei normalcase hashState 25.421 ms/op 26.501 ms/op 0.96
altair processBlock - 250000 vs - 7PWei worstcase 37.163 ms/op 36.161 ms/op 1.03
altair processBlock - 250000 vs - 7PWei worstcase hashState 89.184 ms/op 76.247 ms/op 1.17
phase0 processBlock - 250000 vs - 7PWei normalcase 1.8256 ms/op 1.8021 ms/op 1.01
phase0 processBlock - 250000 vs - 7PWei worstcase 22.144 ms/op 21.843 ms/op 1.01
altair processEth1Data - 250000 vs - 7PWei normalcase 260.78 us/op 311.61 us/op 0.84
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 6.6050 us/op 5.9490 us/op 1.11
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 9.9410 us/op 24.554 us/op 0.40
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 4.2320 us/op 9.4440 us/op 0.45
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 5.5850 us/op 7.5430 us/op 0.74
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 70.918 us/op 114.59 us/op 0.62
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 849.80 us/op 672.05 us/op 1.26
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 621.49 us/op 920.61 us/op 0.68
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.0102 ms/op 909.18 us/op 1.11
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.0610 ms/op 2.5973 ms/op 0.79
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.0618 ms/op 1.6414 ms/op 0.65
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 2.9464 ms/op 4.0463 ms/op 0.73
Tree 40 250000 create 185.07 ms/op 241.98 ms/op 0.76
Tree 40 250000 get(125000) 114.69 ns/op 148.85 ns/op 0.77
Tree 40 250000 set(125000) 555.49 ns/op 712.83 ns/op 0.78
Tree 40 250000 toArray() 9.5353 ms/op 17.815 ms/op 0.54
Tree 40 250000 iterate all - toArray() + loop 12.897 ms/op 17.319 ms/op 0.74
Tree 40 250000 iterate all - get(i) 39.202 ms/op 54.921 ms/op 0.71
MutableVector 250000 create 8.8610 ms/op 10.391 ms/op 0.85
MutableVector 250000 get(125000) 5.8520 ns/op 6.6720 ns/op 0.88
MutableVector 250000 set(125000) 187.37 ns/op 235.59 ns/op 0.80
MutableVector 250000 toArray() 2.8114 ms/op 4.0134 ms/op 0.70
MutableVector 250000 iterate all - toArray() + loop 2.7916 ms/op 4.6702 ms/op 0.60
MutableVector 250000 iterate all - get(i) 1.2916 ms/op 1.6108 ms/op 0.80
Array 250000 create 2.3669 ms/op 3.7800 ms/op 0.63
Array 250000 clone - spread 1.1029 ms/op 1.6469 ms/op 0.67
Array 250000 get(125000) 0.52800 ns/op 0.45100 ns/op 1.17
Array 250000 set(125000) 0.53400 ns/op 0.47900 ns/op 1.11
Array 250000 iterate all - loop 77.829 us/op 114.79 us/op 0.68
effectiveBalanceIncrements clone Uint8Array 300000 13.720 us/op 41.478 us/op 0.33
effectiveBalanceIncrements clone MutableVector 300000 309.00 ns/op 137.00 ns/op 2.26
effectiveBalanceIncrements rw all Uint8Array 300000 168.13 us/op 205.33 us/op 0.82
effectiveBalanceIncrements rw all MutableVector 300000 53.582 ms/op 72.173 ms/op 0.74
phase0 afterProcessEpoch - 250000 vs - 7PWei 74.155 ms/op 91.654 ms/op 0.81
Array.fill - length 1000000 2.2265 ms/op 4.0533 ms/op 0.55
Array push - length 1000000 14.125 ms/op 19.908 ms/op 0.71
Array.get 0.24661 ns/op 0.33859 ns/op 0.73
Uint8Array.get 0.31749 ns/op 0.46734 ns/op 0.68
phase0 beforeProcessEpoch - 250000 vs - 7PWei 20.091 ms/op 27.898 ms/op 0.72
altair processEpoch - mainnet_e81889 325.58 ms/op 355.18 ms/op 0.92
mainnet_e81889 - altair beforeProcessEpoch 22.571 ms/op 37.010 ms/op 0.61
mainnet_e81889 - altair processJustificationAndFinalization 5.6040 us/op 14.536 us/op 0.39
mainnet_e81889 - altair processInactivityUpdates 4.1207 ms/op 6.8274 ms/op 0.60
mainnet_e81889 - altair processRewardsAndPenalties 52.284 ms/op 52.317 ms/op 1.00
mainnet_e81889 - altair processRegistryUpdates 1.8560 us/op 2.6740 us/op 0.69
mainnet_e81889 - altair processSlashings 764.00 ns/op 453.00 ns/op 1.69
mainnet_e81889 - altair processEth1DataReset 728.00 ns/op 617.00 ns/op 1.18
mainnet_e81889 - altair processEffectiveBalanceUpdates 839.38 us/op 1.5967 ms/op 0.53
mainnet_e81889 - altair processSlashingsReset 1.2880 us/op 5.7910 us/op 0.22
mainnet_e81889 - altair processRandaoMixesReset 1.6660 us/op 7.8940 us/op 0.21
mainnet_e81889 - altair processHistoricalRootsUpdate 408.00 ns/op 1.6590 us/op 0.25
mainnet_e81889 - altair processParticipationFlagUpdates 1.1680 us/op 3.6180 us/op 0.32
mainnet_e81889 - altair processSyncCommitteeUpdates 619.00 ns/op 566.00 ns/op 1.09
mainnet_e81889 - altair afterProcessEpoch 74.103 ms/op 101.43 ms/op 0.73
capella processEpoch - mainnet_e217614 1.2067 s/op 1.2667 s/op 0.95
mainnet_e217614 - capella beforeProcessEpoch 103.28 ms/op 115.47 ms/op 0.89
mainnet_e217614 - capella processJustificationAndFinalization 14.997 us/op 19.218 us/op 0.78
mainnet_e217614 - capella processInactivityUpdates 13.067 ms/op 17.646 ms/op 0.74
mainnet_e217614 - capella processRewardsAndPenalties 246.10 ms/op 241.63 ms/op 1.02
mainnet_e217614 - capella processRegistryUpdates 11.590 us/op 16.770 us/op 0.69
mainnet_e217614 - capella processSlashings 828.00 ns/op 421.00 ns/op 1.97
mainnet_e217614 - capella processEth1DataReset 705.00 ns/op 318.00 ns/op 2.22
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.3709 ms/op 13.204 ms/op 0.33
mainnet_e217614 - capella processSlashingsReset 2.0820 us/op 4.6400 us/op 0.45
mainnet_e217614 - capella processRandaoMixesReset 3.7030 us/op 4.8460 us/op 0.76
mainnet_e217614 - capella processHistoricalRootsUpdate 874.00 ns/op 611.00 ns/op 1.43
mainnet_e217614 - capella processParticipationFlagUpdates 2.5300 us/op 3.1080 us/op 0.81
mainnet_e217614 - capella afterProcessEpoch 233.20 ms/op 279.92 ms/op 0.83
phase0 processEpoch - mainnet_e58758 393.28 ms/op 440.71 ms/op 0.89
mainnet_e58758 - phase0 beforeProcessEpoch 92.589 ms/op 87.468 ms/op 1.06
mainnet_e58758 - phase0 processJustificationAndFinalization 15.204 us/op 19.018 us/op 0.80
mainnet_e58758 - phase0 processRewardsAndPenalties 43.726 ms/op 38.159 ms/op 1.15
mainnet_e58758 - phase0 processRegistryUpdates 6.1850 us/op 11.107 us/op 0.56
mainnet_e58758 - phase0 processSlashings 697.00 ns/op 691.00 ns/op 1.01
mainnet_e58758 - phase0 processEth1DataReset 462.00 ns/op 550.00 ns/op 0.84
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 815.60 us/op 1.3344 ms/op 0.61
mainnet_e58758 - phase0 processSlashingsReset 1.4910 us/op 3.4420 us/op 0.43
mainnet_e58758 - phase0 processRandaoMixesReset 3.1930 us/op 7.9130 us/op 0.40
mainnet_e58758 - phase0 processHistoricalRootsUpdate 693.00 ns/op 412.00 ns/op 1.68
mainnet_e58758 - phase0 processParticipationRecordUpdates 2.4990 us/op 3.8680 us/op 0.65
mainnet_e58758 - phase0 afterProcessEpoch 64.212 ms/op 84.980 ms/op 0.76
phase0 processEffectiveBalanceUpdates - 250000 normalcase 732.22 us/op 1.3125 ms/op 0.56
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.1588 ms/op 1.6195 ms/op 0.72
altair processInactivityUpdates - 250000 normalcase 17.449 ms/op 17.557 ms/op 0.99
altair processInactivityUpdates - 250000 worstcase 17.539 ms/op 17.045 ms/op 1.03
phase0 processRegistryUpdates - 250000 normalcase 5.4630 us/op 8.7690 us/op 0.62
phase0 processRegistryUpdates - 250000 badcase_full_deposits 294.66 us/op 291.96 us/op 1.01
phase0 processRegistryUpdates - 250000 worstcase 0.5 114.93 ms/op 130.06 ms/op 0.88
altair processRewardsAndPenalties - 250000 normalcase 47.377 ms/op 45.421 ms/op 1.04
altair processRewardsAndPenalties - 250000 worstcase 48.042 ms/op 45.994 ms/op 1.04
phase0 getAttestationDeltas - 250000 normalcase 6.3865 ms/op 8.1377 ms/op 0.78
phase0 getAttestationDeltas - 250000 worstcase 5.4891 ms/op 8.4377 ms/op 0.65
phase0 processSlashings - 250000 worstcase 85.335 us/op 121.63 us/op 0.70
altair processSyncCommitteeUpdates - 250000 89.988 ms/op 127.49 ms/op 0.71
BeaconState.hashTreeRoot - No change 467.00 ns/op 396.00 ns/op 1.18
BeaconState.hashTreeRoot - 1 full validator 136.52 us/op 142.10 us/op 0.96
BeaconState.hashTreeRoot - 32 full validator 1.5034 ms/op 1.1214 ms/op 1.34
BeaconState.hashTreeRoot - 512 full validator 15.409 ms/op 12.614 ms/op 1.22
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 132.59 us/op 145.65 us/op 0.91
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.8792 ms/op 1.6801 ms/op 1.12
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 25.269 ms/op 22.969 ms/op 1.10
BeaconState.hashTreeRoot - 1 balances 122.53 us/op 103.86 us/op 1.18
BeaconState.hashTreeRoot - 32 balances 1.0742 ms/op 1.3388 ms/op 0.80
BeaconState.hashTreeRoot - 512 balances 9.1555 ms/op 10.356 ms/op 0.88
BeaconState.hashTreeRoot - 250000 balances 183.75 ms/op 208.00 ms/op 0.88
aggregationBits - 2048 els - zipIndexesInBitList 19.094 us/op 29.158 us/op 0.65
byteArrayEquals 32 42.880 ns/op 58.660 ns/op 0.73
Buffer.compare 32 14.147 ns/op 17.981 ns/op 0.79
byteArrayEquals 1024 1.1552 us/op 1.6505 us/op 0.70
Buffer.compare 1024 20.281 ns/op 29.851 ns/op 0.68
byteArrayEquals 16384 18.208 us/op 26.282 us/op 0.69
Buffer.compare 16384 173.96 ns/op 212.29 ns/op 0.82
byteArrayEquals 123687377 148.02 ms/op 200.50 ms/op 0.74
Buffer.compare 123687377 4.4385 ms/op 7.7681 ms/op 0.57
byteArrayEquals 32 - diff last byte 47.304 ns/op 55.127 ns/op 0.86
Buffer.compare 32 - diff last byte 15.962 ns/op 17.799 ns/op 0.90
byteArrayEquals 1024 - diff last byte 1.2901 us/op 1.6281 us/op 0.79
Buffer.compare 1024 - diff last byte 23.941 ns/op 26.560 ns/op 0.90
byteArrayEquals 16384 - diff last byte 20.238 us/op 26.780 us/op 0.76
Buffer.compare 16384 - diff last byte 181.40 ns/op 183.71 ns/op 0.99
byteArrayEquals 123687377 - diff last byte 152.54 ms/op 197.34 ms/op 0.77
Buffer.compare 123687377 - diff last byte 3.8459 ms/op 6.9666 ms/op 0.55
byteArrayEquals 32 - random bytes 4.9140 ns/op 5.3850 ns/op 0.91
Buffer.compare 32 - random bytes 16.061 ns/op 18.019 ns/op 0.89
byteArrayEquals 1024 - random bytes 4.9310 ns/op 5.4130 ns/op 0.91
Buffer.compare 1024 - random bytes 15.952 ns/op 18.003 ns/op 0.89
byteArrayEquals 16384 - random bytes 5.2350 ns/op 5.3720 ns/op 0.97
Buffer.compare 16384 - random bytes 15.928 ns/op 18.033 ns/op 0.88
byteArrayEquals 123687377 - random bytes 7.7600 ns/op 6.9000 ns/op 1.12
Buffer.compare 123687377 - random bytes 18.880 ns/op 19.700 ns/op 0.96
regular array get 100000 times 31.081 us/op 34.358 us/op 0.90
wrappedArray get 100000 times 31.059 us/op 37.587 us/op 0.83
arrayWithProxy get 100000 times 9.8119 ms/op 13.795 ms/op 0.71
ssz.Root.equals 39.776 ns/op 47.906 ns/op 0.83
byteArrayEquals 42.768 ns/op 47.441 ns/op 0.90
Buffer.compare 9.3940 ns/op 10.934 ns/op 0.86
shuffle list - 16384 els 5.5501 ms/op 6.8061 ms/op 0.82
shuffle list - 250000 els 81.457 ms/op 98.029 ms/op 0.83
processSlot - 1 slots 12.266 us/op 14.363 us/op 0.85
processSlot - 32 slots 3.3152 ms/op 2.3286 ms/op 1.42
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 43.764 ms/op 35.666 ms/op 1.23
getCommitteeAssignments - req 1 vs - 250000 vc 1.6292 ms/op 2.1927 ms/op 0.74
getCommitteeAssignments - req 100 vs - 250000 vc 3.1703 ms/op 4.2202 ms/op 0.75
getCommitteeAssignments - req 1000 vs - 250000 vc 3.3993 ms/op 4.5661 ms/op 0.74
findModifiedValidators - 10000 modified validators 243.38 ms/op 286.48 ms/op 0.85
findModifiedValidators - 1000 modified validators 154.33 ms/op 220.30 ms/op 0.70
findModifiedValidators - 100 modified validators 135.69 ms/op 168.88 ms/op 0.80
findModifiedValidators - 10 modified validators 125.90 ms/op 147.75 ms/op 0.85
findModifiedValidators - 1 modified validators 137.68 ms/op 151.97 ms/op 0.91
findModifiedValidators - no difference 129.01 ms/op 153.75 ms/op 0.84
compare ViewDUs 3.0432 s/op 3.0049 s/op 1.01
compare each validator Uint8Array 1.7892 s/op 1.4679 s/op 1.22
compare ViewDU to Uint8Array 630.12 ms/op 1.0120 s/op 0.62
migrate state 1000000 validators, 24 modified, 0 new 589.61 ms/op 548.00 ms/op 1.08
migrate state 1000000 validators, 1700 modified, 1000 new 817.53 ms/op 875.79 ms/op 0.93
migrate state 1000000 validators, 3400 modified, 2000 new 936.75 ms/op 1.0130 s/op 0.92
migrate state 1500000 validators, 24 modified, 0 new 597.92 ms/op 613.92 ms/op 0.97
migrate state 1500000 validators, 1700 modified, 1000 new 829.08 ms/op 834.27 ms/op 0.99
migrate state 1500000 validators, 3400 modified, 2000 new 963.43 ms/op 1.0217 s/op 0.94
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 6.0800 ns/op 4.7200 ns/op 1.29
state getBlockRootAtSlot - 250000 vs - 7PWei 667.23 ns/op 921.67 ns/op 0.72
computeProposers - vc 250000 6.1324 ms/op 8.0686 ms/op 0.76
computeEpochShuffling - vc 250000 82.649 ms/op 95.566 ms/op 0.86
getNextSyncCommittee - vc 250000 99.993 ms/op 125.97 ms/op 0.79
computeSigningRoot for AttestationData 24.885 us/op 19.915 us/op 1.25
hash AttestationData serialized data then Buffer.toString(base64) 1.1100 us/op 1.6201 us/op 0.69
toHexString serialized data 716.20 ns/op 913.52 ns/op 0.78
Buffer.toString(base64) 133.00 ns/op 200.49 ns/op 0.66

by benchmarkbot/action

@twoeths
Copy link
Contributor Author

twoeths commented Jul 31, 2024

seeing some expected metrics after ~5h testing on feat2 mainnet node

  • peer count is stable, most of them are inbound peers like in the stable mainnet node
Screenshot 2024-07-31 at 20 39 16
  • event loop lag on network worker is ~42ms, not same to stable (~15ms) but less than beta (and unstable). I guess this also depends on mesh peers (we have more mesh peers on this release)
Screenshot 2024-07-31 at 20 40 45 Screenshot 2024-07-31 at 20 42 02

@twoeths twoeths marked this pull request as ready for review July 31, 2024 13:45
@twoeths twoeths requested a review from a team as a code owner July 31, 2024 13:45
@twoeths
Copy link
Contributor Author

twoeths commented Aug 1, 2024

Attnet count with >0 mesh peers

ignore this metric, it turned bad after a while. So performance is not as great as in the napi-rs branch

the most important metric is peer count, which is not stable in the beta mainnet node (and majority of them is outbound peers, inbound peer count = 1)

Screenshot 2024-08-01 at 14 34 40

but in feat2 it's very stable, most of the mare inbound peers like in stable mainnet node

Screenshot 2024-08-01 at 14 35 02

@wemeetagain wemeetagain merged commit 3fb7f60 into unstable Aug 1, 2024
20 of 21 checks passed
@wemeetagain wemeetagain deleted the te/revert_yamux branch August 1, 2024 14:21
philknows pushed a commit that referenced this pull request Aug 1, 2024
* Revert "feat: add yamux stream muxer (#5886)"

This reverts commit acbedaf.

* chore: update yarn.lock
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.21.0 🎉

philknows pushed a commit that referenced this pull request Sep 3, 2024
* Revert "feat: add yamux stream muxer (#5886)"

This reverts commit acbedaf.

* chore: update yarn.lock
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants