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: revert async aggregate with randomness #7218

Merged
merged 1 commit into from
Nov 7, 2024

Conversation

matthewkeil
Copy link
Member

Motivation

Change is choking network thread when —subscribeAllSubnets flag is applied. Need to further investigate that issue so reverting for 1.23 and will reapply for 1.24 once network issue is resolved.

@matthewkeil matthewkeil added the status-do-not-merge Merging this issue will break the build. Do not merge! label Nov 6, 2024
@matthewkeil matthewkeil requested a review from a team as a code owner November 6, 2024 10:08
@matthewkeil matthewkeil changed the title chore;revert async aggregate with randomness chore: revert async aggregate with randomness Nov 6, 2024
@matthewkeil matthewkeil force-pushed the mkeil/revert-async-aggregate-with-randomness branch from afaea97 to 6e1e282 Compare November 6, 2024 10:12
@matthewkeil matthewkeil force-pushed the mkeil/revert-async-aggregate-with-randomness branch from 6e1e282 to 807a271 Compare November 6, 2024 10:15
Copy link

codecov bot commented Nov 6, 2024

Codecov Report

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

Project coverage is 49.09%. Comparing base (2e5265b) to head (807a271).
Report is 1 commits behind head on unstable.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #7218      +/-   ##
============================================
- Coverage     49.10%   49.09%   -0.01%     
============================================
  Files           600      600              
  Lines         40218    40223       +5     
  Branches       2108     2104       -4     
============================================
- Hits          19748    19747       -1     
- Misses        20432    20438       +6     
  Partials         38       38              

Copy link
Contributor

github-actions bot commented Nov 6, 2024

⚠️ Performance Alert ⚠️

Possible performance regression was detected for some benchmarks.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold.

Benchmark suite Current: 49bb08c Previous: 2e5265b Ratio
altair processInactivityUpdates - 250000 worstcase 46.542 ms/op 14.474 ms/op 3.22
altair processRewardsAndPenalties - 250000 normalcase 85.042 ms/op 27.551 ms/op 3.09
Buffer.compare 123687377 20.033 ms/op 6.4598 ms/op 3.10
Full benchmark results
Benchmark suite Current: 49bb08c Previous: 2e5265b Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.4192 ms/op 1.9106 ms/op 1.27
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 77.972 us/op 45.485 us/op 1.71
BLS verify - blst 894.52 us/op 705.97 us/op 1.27
BLS verifyMultipleSignatures 3 - blst 1.5556 ms/op 1.1527 ms/op 1.35
BLS verifyMultipleSignatures 8 - blst 2.1090 ms/op 1.6375 ms/op 1.29
BLS verifyMultipleSignatures 32 - blst 6.9212 ms/op 4.7806 ms/op 1.45
BLS verifyMultipleSignatures 64 - blst 9.7224 ms/op 8.9230 ms/op 1.09
BLS verifyMultipleSignatures 128 - blst 21.502 ms/op 17.000 ms/op 1.26
BLS deserializing 10000 signatures 744.42 ms/op 674.17 ms/op 1.10
BLS deserializing 100000 signatures 7.3964 s/op 6.7303 s/op 1.10
BLS verifyMultipleSignatures - same message - 3 - blst 1.1906 ms/op 872.35 us/op 1.36
BLS verifyMultipleSignatures - same message - 8 - blst 1.2614 ms/op 1.0108 ms/op 1.25
BLS verifyMultipleSignatures - same message - 32 - blst 1.9472 ms/op 1.6781 ms/op 1.16
BLS verifyMultipleSignatures - same message - 64 - blst 3.0032 ms/op 2.5408 ms/op 1.18
BLS verifyMultipleSignatures - same message - 128 - blst 4.8151 ms/op 4.2463 ms/op 1.13
BLS aggregatePubkeys 32 - blst 22.228 us/op 19.073 us/op 1.17
BLS aggregatePubkeys 128 - blst 80.760 us/op 68.246 us/op 1.18
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 97.882 ms/op 63.527 ms/op 1.54
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 59.816 ms/op 47.301 ms/op 1.26
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 43.519 ms/op 36.716 ms/op 1.19
getSlashingsAndExits - default max 105.28 us/op 86.584 us/op 1.22
getSlashingsAndExits - 2k 414.43 us/op 256.36 us/op 1.62
proposeBlockBody type=full, size=empty 7.8661 ms/op 5.7276 ms/op 1.37
isKnown best case - 1 super set check 578.00 ns/op 273.00 ns/op 2.12
isKnown normal case - 2 super set checks 587.00 ns/op 267.00 ns/op 2.20
isKnown worse case - 16 super set checks 482.00 ns/op 271.00 ns/op 1.78
InMemoryCheckpointStateCache - add get delete 3.6000 us/op 2.9680 us/op 1.21
updateUnfinalizedPubkeys - updating 10 pubkeys 1.2635 ms/op 787.66 us/op 1.60
updateUnfinalizedPubkeys - updating 100 pubkeys 4.2305 ms/op 3.3386 ms/op 1.27
updateUnfinalizedPubkeys - updating 1000 pubkeys 63.313 ms/op 50.318 ms/op 1.26
validate api signedAggregateAndProof - struct 1.6296 ms/op 1.3548 ms/op 1.20
validate gossip signedAggregateAndProof - struct 1.6062 ms/op 1.3324 ms/op 1.21
batch validate gossip attestation - vc 640000 - chunk 32 141.70 us/op 120.77 us/op 1.17
batch validate gossip attestation - vc 640000 - chunk 64 136.79 us/op 111.30 us/op 1.23
batch validate gossip attestation - vc 640000 - chunk 128 141.12 us/op 107.82 us/op 1.31
batch validate gossip attestation - vc 640000 - chunk 256 144.24 us/op 101.30 us/op 1.42
pickEth1Vote - no votes 1.3561 ms/op 1.0309 ms/op 1.32
pickEth1Vote - max votes 9.0558 ms/op 6.0681 ms/op 1.49
pickEth1Vote - Eth1Data hashTreeRoot value x2048 20.298 ms/op 15.522 ms/op 1.31
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 30.378 ms/op 18.882 ms/op 1.61
pickEth1Vote - Eth1Data fastSerialize value x2048 650.77 us/op 460.93 us/op 1.41
pickEth1Vote - Eth1Data fastSerialize tree x2048 4.9630 ms/op 4.1122 ms/op 1.21
bytes32 toHexString 742.00 ns/op 423.00 ns/op 1.75
bytes32 Buffer.toString(hex) 331.00 ns/op 248.00 ns/op 1.33
bytes32 Buffer.toString(hex) from Uint8Array 561.00 ns/op 377.00 ns/op 1.49
bytes32 Buffer.toString(hex) + 0x 341.00 ns/op 252.00 ns/op 1.35
Object access 1 prop 0.26300 ns/op 0.13900 ns/op 1.89
Map access 1 prop 0.20400 ns/op 0.13200 ns/op 1.55
Object get x1000 10.582 ns/op 5.9270 ns/op 1.79
Map get x1000 9.9870 ns/op 6.2940 ns/op 1.59
Object set x1000 69.602 ns/op 31.695 ns/op 2.20
Map set x1000 44.821 ns/op 21.607 ns/op 2.07
Return object 10000 times 0.40950 ns/op 0.28240 ns/op 1.45
Throw Error 10000 times 4.1979 us/op 3.2823 us/op 1.28
toHex 219.34 ns/op 154.22 ns/op 1.42
Buffer.from 215.99 ns/op 136.88 ns/op 1.58
shared Buffer 104.84 ns/op 89.600 ns/op 1.17
fastMsgIdFn sha256 / 200 bytes 2.7080 us/op 2.1540 us/op 1.26
fastMsgIdFn h32 xxhash / 200 bytes 348.00 ns/op 220.00 ns/op 1.58
fastMsgIdFn h64 xxhash / 200 bytes 311.00 ns/op 255.00 ns/op 1.22
fastMsgIdFn sha256 / 1000 bytes 8.3760 us/op 7.0130 us/op 1.19
fastMsgIdFn h32 xxhash / 1000 bytes 468.00 ns/op 340.00 ns/op 1.38
fastMsgIdFn h64 xxhash / 1000 bytes 384.00 ns/op 334.00 ns/op 1.15
fastMsgIdFn sha256 / 10000 bytes 70.351 us/op 62.078 us/op 1.13
fastMsgIdFn h32 xxhash / 10000 bytes 2.0660 us/op 1.7240 us/op 1.20
fastMsgIdFn h64 xxhash / 10000 bytes 1.3670 us/op 1.1390 us/op 1.20
send data - 1000 256B messages 16.033 ms/op 11.658 ms/op 1.38
send data - 1000 512B messages 23.019 ms/op 14.782 ms/op 1.56
send data - 1000 1024B messages 30.073 ms/op 24.380 ms/op 1.23
send data - 1000 1200B messages 34.943 ms/op 26.105 ms/op 1.34
send data - 1000 2048B messages 35.451 ms/op 30.605 ms/op 1.16
send data - 1000 4096B messages 38.657 ms/op 29.947 ms/op 1.29
send data - 1000 16384B messages 86.434 ms/op 70.462 ms/op 1.23
send data - 1000 65536B messages 227.00 ms/op 218.24 ms/op 1.04
enrSubnets - fastDeserialize 64 bits 1.4660 us/op 1.0890 us/op 1.35
enrSubnets - ssz BitVector 64 bits 503.00 ns/op 334.00 ns/op 1.51
enrSubnets - fastDeserialize 4 bits 226.00 ns/op 139.00 ns/op 1.63
enrSubnets - ssz BitVector 4 bits 492.00 ns/op 339.00 ns/op 1.45
prioritizePeers score -10:0 att 32-0.1 sync 2-0 220.04 us/op 147.69 us/op 1.49
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 240.69 us/op 148.65 us/op 1.62
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 344.79 us/op 242.20 us/op 1.42
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 467.70 us/op 400.56 us/op 1.17
prioritizePeers score 0:0 att 64-1 sync 4-1 977.12 us/op 609.90 us/op 1.60
array of 16000 items push then shift 1.8956 us/op 1.6177 us/op 1.17
LinkedList of 16000 items push then shift 10.100 ns/op 6.9440 ns/op 1.45
array of 16000 items push then pop 140.63 ns/op 114.02 ns/op 1.23
LinkedList of 16000 items push then pop 9.6010 ns/op 6.8190 ns/op 1.41
array of 24000 items push then shift 2.8519 us/op 2.3857 us/op 1.20
LinkedList of 24000 items push then shift 9.7550 ns/op 6.9090 ns/op 1.41
array of 24000 items push then pop 180.99 ns/op 143.72 ns/op 1.26
LinkedList of 24000 items push then pop 9.4940 ns/op 6.7660 ns/op 1.40
intersect bitArray bitLen 8 7.8780 ns/op 6.2670 ns/op 1.26
intersect array and set length 8 50.741 ns/op 44.892 ns/op 1.13
intersect bitArray bitLen 128 32.737 ns/op 29.197 ns/op 1.12
intersect array and set length 128 811.45 ns/op 663.73 ns/op 1.22
bitArray.getTrueBitIndexes() bitLen 128 2.3770 us/op 2.0020 us/op 1.19
bitArray.getTrueBitIndexes() bitLen 248 3.1130 us/op 2.7880 us/op 1.12
bitArray.getTrueBitIndexes() bitLen 512 7.4850 us/op 5.8460 us/op 1.28
Buffer.concat 32 items 973.00 ns/op 879.00 ns/op 1.11
Uint8Array.set 32 items 1.5880 us/op 1.4300 us/op 1.11
Buffer.copy 2.2060 us/op 1.5040 us/op 1.47
Uint8Array.set - with subarray 2.8070 us/op 2.2250 us/op 1.26
Uint8Array.set - without subarray 1.9160 us/op 1.1940 us/op 1.60
getUint32 - dataview 272.00 ns/op 221.00 ns/op 1.23
getUint32 - manual 202.00 ns/op 141.00 ns/op 1.43
Set add up to 64 items then delete first 2.3346 us/op 2.0969 us/op 1.11
OrderedSet add up to 64 items then delete first 3.4982 us/op 3.1563 us/op 1.11
Set add up to 64 items then delete last 2.5821 us/op 2.4003 us/op 1.08
OrderedSet add up to 64 items then delete last 3.9937 us/op 3.7027 us/op 1.08
Set add up to 64 items then delete middle 2.7500 us/op 2.4462 us/op 1.12
OrderedSet add up to 64 items then delete middle 5.8677 us/op 5.0942 us/op 1.15
Set add up to 128 items then delete first 5.6011 us/op 4.8092 us/op 1.16
OrderedSet add up to 128 items then delete first 7.9559 us/op 6.9556 us/op 1.14
Set add up to 128 items then delete last 5.0859 us/op 4.8433 us/op 1.05
OrderedSet add up to 128 items then delete last 7.4047 us/op 7.3495 us/op 1.01
Set add up to 128 items then delete middle 5.7850 us/op 4.7519 us/op 1.22
OrderedSet add up to 128 items then delete middle 15.715 us/op 13.105 us/op 1.20
Set add up to 256 items then delete first 11.281 us/op 9.6078 us/op 1.17
OrderedSet add up to 256 items then delete first 17.501 us/op 14.497 us/op 1.21
Set add up to 256 items then delete last 10.126 us/op 9.5841 us/op 1.06
OrderedSet add up to 256 items then delete last 14.777 us/op 14.908 us/op 0.99
Set add up to 256 items then delete middle 9.8361 us/op 9.6047 us/op 1.02
OrderedSet add up to 256 items then delete middle 41.148 us/op 39.315 us/op 1.05
transfer serialized Status (84 B) 1.3750 us/op 1.3030 us/op 1.06
copy serialized Status (84 B) 1.1080 us/op 1.0450 us/op 1.06
transfer serialized SignedVoluntaryExit (112 B) 1.4700 us/op 1.3680 us/op 1.07
copy serialized SignedVoluntaryExit (112 B) 1.2020 us/op 1.0890 us/op 1.10
transfer serialized ProposerSlashing (416 B) 1.6520 us/op 1.5180 us/op 1.09
copy serialized ProposerSlashing (416 B) 1.4820 us/op 1.9620 us/op 0.76
transfer serialized Attestation (485 B) 1.6450 us/op 1.9460 us/op 0.85
copy serialized Attestation (485 B) 1.4990 us/op 2.0230 us/op 0.74
transfer serialized AttesterSlashing (33232 B) 1.8260 us/op 2.5760 us/op 0.71
copy serialized AttesterSlashing (33232 B) 5.2540 us/op 6.4090 us/op 0.82
transfer serialized Small SignedBeaconBlock (128000 B) 2.6620 us/op 2.5150 us/op 1.06
copy serialized Small SignedBeaconBlock (128000 B) 16.150 us/op 17.015 us/op 0.95
transfer serialized Avg SignedBeaconBlock (200000 B) 3.2050 us/op 2.9040 us/op 1.10
copy serialized Avg SignedBeaconBlock (200000 B) 24.599 us/op 22.199 us/op 1.11
transfer serialized BlobsSidecar (524380 B) 2.5940 us/op 2.4650 us/op 1.05
copy serialized BlobsSidecar (524380 B) 79.049 us/op 203.84 us/op 0.39
transfer serialized Big SignedBeaconBlock (1000000 B) 2.5200 us/op 2.8850 us/op 0.87
copy serialized Big SignedBeaconBlock (1000000 B) 168.08 us/op 148.46 us/op 1.13
pass gossip attestations to forkchoice per slot 2.9818 ms/op 2.7928 ms/op 1.07
forkChoice updateHead vc 100000 bc 64 eq 0 451.83 us/op 448.16 us/op 1.01
forkChoice updateHead vc 600000 bc 64 eq 0 3.5403 ms/op 2.6426 ms/op 1.34
forkChoice updateHead vc 1000000 bc 64 eq 0 5.1107 ms/op 4.7497 ms/op 1.08
forkChoice updateHead vc 600000 bc 320 eq 0 2.9951 ms/op 2.6412 ms/op 1.13
forkChoice updateHead vc 600000 bc 1200 eq 0 3.1039 ms/op 2.8108 ms/op 1.10
forkChoice updateHead vc 600000 bc 7200 eq 0 3.5984 ms/op 3.2127 ms/op 1.12
forkChoice updateHead vc 600000 bc 64 eq 1000 10.339 ms/op 10.395 ms/op 0.99
forkChoice updateHead vc 600000 bc 64 eq 10000 10.238 ms/op 10.067 ms/op 1.02
forkChoice updateHead vc 600000 bc 64 eq 300000 14.736 ms/op 13.382 ms/op 1.10
computeDeltas 500000 validators 300 proto nodes 4.2989 ms/op 3.8727 ms/op 1.11
computeDeltas 500000 validators 1200 proto nodes 4.2130 ms/op 3.9015 ms/op 1.08
computeDeltas 500000 validators 7200 proto nodes 4.3548 ms/op 3.8872 ms/op 1.12
computeDeltas 750000 validators 300 proto nodes 6.6321 ms/op 5.7349 ms/op 1.16
computeDeltas 750000 validators 1200 proto nodes 6.9607 ms/op 5.8157 ms/op 1.20
computeDeltas 750000 validators 7200 proto nodes 7.5253 ms/op 5.7781 ms/op 1.30
computeDeltas 1400000 validators 300 proto nodes 12.196 ms/op 10.917 ms/op 1.12
computeDeltas 1400000 validators 1200 proto nodes 13.256 ms/op 10.892 ms/op 1.22
computeDeltas 1400000 validators 7200 proto nodes 14.338 ms/op 10.921 ms/op 1.31
computeDeltas 2100000 validators 300 proto nodes 20.446 ms/op 16.200 ms/op 1.26
computeDeltas 2100000 validators 1200 proto nodes 20.485 ms/op 16.350 ms/op 1.25
computeDeltas 2100000 validators 7200 proto nodes 19.086 ms/op 16.332 ms/op 1.17
altair processAttestation - 250000 vs - 7PWei normalcase 2.4567 ms/op 1.8563 ms/op 1.32
altair processAttestation - 250000 vs - 7PWei worstcase 3.3190 ms/op 2.7594 ms/op 1.20
altair processAttestation - setStatus - 1/6 committees join 104.52 us/op 119.37 us/op 0.88
altair processAttestation - setStatus - 1/3 committees join 205.34 us/op 228.21 us/op 0.90
altair processAttestation - setStatus - 1/2 committees join 277.90 us/op 320.78 us/op 0.87
altair processAttestation - setStatus - 2/3 committees join 348.05 us/op 410.32 us/op 0.85
altair processAttestation - setStatus - 4/5 committees join 499.11 us/op 569.19 us/op 0.88
altair processAttestation - setStatus - 100% committees join 595.36 us/op 669.31 us/op 0.89
altair processBlock - 250000 vs - 7PWei normalcase 6.5363 ms/op 4.7251 ms/op 1.38
altair processBlock - 250000 vs - 7PWei normalcase hashState 29.291 ms/op 27.491 ms/op 1.07
altair processBlock - 250000 vs - 7PWei worstcase 37.048 ms/op 30.747 ms/op 1.20
altair processBlock - 250000 vs - 7PWei worstcase hashState 79.768 ms/op 68.855 ms/op 1.16
phase0 processBlock - 250000 vs - 7PWei normalcase 2.3576 ms/op 1.6138 ms/op 1.46
phase0 processBlock - 250000 vs - 7PWei worstcase 24.553 ms/op 19.414 ms/op 1.26
altair processEth1Data - 250000 vs - 7PWei normalcase 342.50 us/op 302.53 us/op 1.13
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 6.8250 us/op 4.8990 us/op 1.39
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 46.771 us/op 27.224 us/op 1.72
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 12.286 us/op 8.5550 us/op 1.44
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 8.0260 us/op 5.0680 us/op 1.58
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 180.76 us/op 113.18 us/op 1.60
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.1976 ms/op 1.0894 ms/op 1.10
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.6474 ms/op 1.4814 ms/op 1.11
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.5439 ms/op 1.4673 ms/op 1.05
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.3106 ms/op 3.6411 ms/op 1.18
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.7399 ms/op 1.5472 ms/op 1.12
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.4438 ms/op 3.6768 ms/op 1.21
Tree 40 250000 create 261.73 ms/op 219.15 ms/op 1.19
Tree 40 250000 get(125000) 164.41 ns/op 141.68 ns/op 1.16
Tree 40 250000 set(125000) 761.93 ns/op 642.25 ns/op 1.19
Tree 40 250000 toArray() 21.021 ms/op 14.920 ms/op 1.41
Tree 40 250000 iterate all - toArray() + loop 23.071 ms/op 14.649 ms/op 1.57
Tree 40 250000 iterate all - get(i) 59.345 ms/op 50.201 ms/op 1.18
Array 250000 create 3.6236 ms/op 2.7622 ms/op 1.31
Array 250000 clone - spread 1.4510 ms/op 1.4527 ms/op 1.00
Array 250000 get(125000) 0.45000 ns/op 0.41200 ns/op 1.09
Array 250000 set(125000) 0.47200 ns/op 0.43100 ns/op 1.10
Array 250000 iterate all - loop 112.95 us/op 81.256 us/op 1.39
phase0 afterProcessEpoch - 250000 vs - 7PWei 54.488 ms/op 47.876 ms/op 1.14
Array.fill - length 1000000 3.6344 ms/op 3.5911 ms/op 1.01
Array push - length 1000000 29.157 ms/op 12.393 ms/op 2.35
Array.get 0.35267 ns/op 0.26163 ns/op 1.35
Uint8Array.get 0.46643 ns/op 0.41989 ns/op 1.11
phase0 beforeProcessEpoch - 250000 vs - 7PWei 27.835 ms/op 16.383 ms/op 1.70
altair processEpoch - mainnet_e81889 466.89 ms/op 280.43 ms/op 1.66
mainnet_e81889 - altair beforeProcessEpoch 30.671 ms/op 17.766 ms/op 1.73
mainnet_e81889 - altair processJustificationAndFinalization 24.832 us/op 12.112 us/op 2.05
mainnet_e81889 - altair processInactivityUpdates 10.758 ms/op 5.0529 ms/op 2.13
mainnet_e81889 - altair processRewardsAndPenalties 64.813 ms/op 44.895 ms/op 1.44
mainnet_e81889 - altair processRegistryUpdates 1.9620 us/op 1.6090 us/op 1.22
mainnet_e81889 - altair processSlashings 807.00 ns/op 347.00 ns/op 2.33
mainnet_e81889 - altair processEth1DataReset 945.00 ns/op 306.00 ns/op 3.09
mainnet_e81889 - altair processEffectiveBalanceUpdates 7.8103 ms/op 1.9291 ms/op 4.05
mainnet_e81889 - altair processSlashingsReset 8.6150 us/op 2.7690 us/op 3.11
mainnet_e81889 - altair processRandaoMixesReset 8.2260 us/op 5.0280 us/op 1.64
mainnet_e81889 - altair processHistoricalRootsUpdate 834.00 ns/op 500.00 ns/op 1.67
mainnet_e81889 - altair processParticipationFlagUpdates 5.0790 us/op 2.0250 us/op 2.51
mainnet_e81889 - altair processSyncCommitteeUpdates 970.00 ns/op 430.00 ns/op 2.26
mainnet_e81889 - altair afterProcessEpoch 56.918 ms/op 49.775 ms/op 1.14
capella processEpoch - mainnet_e217614 1.2654 s/op 1.0315 s/op 1.23
mainnet_e217614 - capella beforeProcessEpoch 93.565 ms/op 72.849 ms/op 1.28
mainnet_e217614 - capella processJustificationAndFinalization 19.271 us/op 13.642 us/op 1.41
mainnet_e217614 - capella processInactivityUpdates 21.803 ms/op 16.665 ms/op 1.31
mainnet_e217614 - capella processRewardsAndPenalties 332.02 ms/op 222.56 ms/op 1.49
mainnet_e217614 - capella processRegistryUpdates 16.971 us/op 12.651 us/op 1.34
mainnet_e217614 - capella processSlashings 585.00 ns/op 366.00 ns/op 1.60
mainnet_e217614 - capella processEth1DataReset 379.00 ns/op 338.00 ns/op 1.12
mainnet_e217614 - capella processEffectiveBalanceUpdates 15.818 ms/op 11.482 ms/op 1.38
mainnet_e217614 - capella processSlashingsReset 5.5800 us/op 3.3110 us/op 1.69
mainnet_e217614 - capella processRandaoMixesReset 5.4660 us/op 3.7910 us/op 1.44
mainnet_e217614 - capella processHistoricalRootsUpdate 1.2070 us/op 369.00 ns/op 3.27
mainnet_e217614 - capella processParticipationFlagUpdates 4.1370 us/op 2.0760 us/op 1.99
mainnet_e217614 - capella afterProcessEpoch 139.60 ms/op 121.22 ms/op 1.15
phase0 processEpoch - mainnet_e58758 394.55 ms/op 327.32 ms/op 1.21
mainnet_e58758 - phase0 beforeProcessEpoch 109.32 ms/op 66.395 ms/op 1.65
mainnet_e58758 - phase0 processJustificationAndFinalization 47.860 us/op 14.126 us/op 3.39
mainnet_e58758 - phase0 processRewardsAndPenalties 76.106 ms/op 29.650 ms/op 2.57
mainnet_e58758 - phase0 processRegistryUpdates 19.411 us/op 6.7860 us/op 2.86
mainnet_e58758 - phase0 processSlashings 1.4240 us/op 399.00 ns/op 3.57
mainnet_e58758 - phase0 processEth1DataReset 1.4990 us/op 320.00 ns/op 4.68
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 2.7658 ms/op 1.7039 ms/op 1.62
mainnet_e58758 - phase0 processSlashingsReset 14.271 us/op 2.9450 us/op 4.85
mainnet_e58758 - phase0 processRandaoMixesReset 11.927 us/op 3.8560 us/op 3.09
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.2830 us/op 404.00 ns/op 3.18
mainnet_e58758 - phase0 processParticipationRecordUpdates 9.7320 us/op 2.8540 us/op 3.41
mainnet_e58758 - phase0 afterProcessEpoch 55.171 ms/op 42.547 ms/op 1.30
phase0 processEffectiveBalanceUpdates - 250000 normalcase 2.1081 ms/op 1.8034 ms/op 1.17
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 4.7828 ms/op 2.2071 ms/op 2.17
altair processInactivityUpdates - 250000 normalcase 38.720 ms/op 14.361 ms/op 2.70
altair processInactivityUpdates - 250000 worstcase 46.542 ms/op 14.474 ms/op 3.22
phase0 processRegistryUpdates - 250000 normalcase 15.707 us/op 6.3980 us/op 2.45
phase0 processRegistryUpdates - 250000 badcase_full_deposits 603.53 us/op 238.07 us/op 2.54
phase0 processRegistryUpdates - 250000 worstcase 0.5 291.85 ms/op 121.30 ms/op 2.41
altair processRewardsAndPenalties - 250000 normalcase 85.042 ms/op 27.551 ms/op 3.09
altair processRewardsAndPenalties - 250000 worstcase 39.108 ms/op 37.436 ms/op 1.04
phase0 getAttestationDeltas - 250000 normalcase 9.8530 ms/op 7.4162 ms/op 1.33
phase0 getAttestationDeltas - 250000 worstcase 9.1974 ms/op 7.0716 ms/op 1.30
phase0 processSlashings - 250000 worstcase 151.06 us/op 78.678 us/op 1.92
altair processSyncCommitteeUpdates - 250000 176.04 ms/op 123.70 ms/op 1.42
BeaconState.hashTreeRoot - No change 491.00 ns/op 249.00 ns/op 1.97
BeaconState.hashTreeRoot - 1 full validator 146.98 us/op 111.51 us/op 1.32
BeaconState.hashTreeRoot - 32 full validator 1.4156 ms/op 1.1640 ms/op 1.22
BeaconState.hashTreeRoot - 512 full validator 18.147 ms/op 9.7886 ms/op 1.85
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 207.78 us/op 152.31 us/op 1.36
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 3.0946 ms/op 1.6681 ms/op 1.86
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 40.490 ms/op 22.163 ms/op 1.83
BeaconState.hashTreeRoot - 1 balances 171.47 us/op 110.13 us/op 1.56
BeaconState.hashTreeRoot - 32 balances 1.6064 ms/op 896.23 us/op 1.79
BeaconState.hashTreeRoot - 512 balances 14.261 ms/op 7.7297 ms/op 1.84
BeaconState.hashTreeRoot - 250000 balances 342.14 ms/op 176.30 ms/op 1.94
aggregationBits - 2048 els - zipIndexesInBitList 58.970 us/op 23.091 us/op 2.55
byteArrayEquals 32 66.793 ns/op 57.192 ns/op 1.17
Buffer.compare 32 23.809 ns/op 17.055 ns/op 1.40
byteArrayEquals 1024 1.7250 us/op 1.5664 us/op 1.10
Buffer.compare 1024 31.109 ns/op 24.600 ns/op 1.26
byteArrayEquals 16384 28.305 us/op 24.935 us/op 1.14
Buffer.compare 16384 242.82 ns/op 186.09 ns/op 1.30
byteArrayEquals 123687377 238.93 ms/op 187.59 ms/op 1.27
Buffer.compare 123687377 20.033 ms/op 6.4598 ms/op 3.10
byteArrayEquals 32 - diff last byte 59.017 ns/op 51.675 ns/op 1.14
Buffer.compare 32 - diff last byte 24.604 ns/op 16.848 ns/op 1.46
byteArrayEquals 1024 - diff last byte 1.7511 us/op 1.5551 us/op 1.13
Buffer.compare 1024 - diff last byte 37.470 ns/op 24.753 ns/op 1.51
byteArrayEquals 16384 - diff last byte 28.049 us/op 24.793 us/op 1.13
Buffer.compare 16384 - diff last byte 284.37 ns/op 192.31 ns/op 1.48
byteArrayEquals 123687377 - diff last byte 252.15 ms/op 191.89 ms/op 1.31
Buffer.compare 123687377 - diff last byte 10.423 ms/op 6.4832 ms/op 1.61
byteArrayEquals 32 - random bytes 5.4830 ns/op 5.2490 ns/op 1.04
Buffer.compare 32 - random bytes 18.106 ns/op 17.655 ns/op 1.03
byteArrayEquals 1024 - random bytes 5.5110 ns/op 5.2360 ns/op 1.05
Buffer.compare 1024 - random bytes 17.780 ns/op 17.450 ns/op 1.02
byteArrayEquals 16384 - random bytes 5.4140 ns/op 5.1730 ns/op 1.05
Buffer.compare 16384 - random bytes 18.317 ns/op 17.337 ns/op 1.06
byteArrayEquals 123687377 - random bytes 6.7400 ns/op 6.4900 ns/op 1.04
Buffer.compare 123687377 - random bytes 19.520 ns/op 18.700 ns/op 1.04
regular array get 100000 times 37.466 us/op 43.104 us/op 0.87
wrappedArray get 100000 times 33.964 us/op 34.078 us/op 1.00
arrayWithProxy get 100000 times 13.463 ms/op 13.837 ms/op 0.97
ssz.Root.equals 47.143 ns/op 46.910 ns/op 1.00
byteArrayEquals 46.724 ns/op 46.231 ns/op 1.01
Buffer.compare 10.797 ns/op 10.505 ns/op 1.03
processSlot - 1 slots 13.460 us/op 13.911 us/op 0.97
processSlot - 32 slots 2.4443 ms/op 2.6823 ms/op 0.91
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 36.330 ms/op 36.212 ms/op 1.00
getCommitteeAssignments - req 1 vs - 250000 vc 2.1908 ms/op 2.0609 ms/op 1.06
getCommitteeAssignments - req 100 vs - 250000 vc 4.2650 ms/op 3.9873 ms/op 1.07
getCommitteeAssignments - req 1000 vs - 250000 vc 4.5812 ms/op 4.1699 ms/op 1.10
findModifiedValidators - 10000 modified validators 264.24 ms/op 226.75 ms/op 1.17
findModifiedValidators - 1000 modified validators 184.71 ms/op 164.65 ms/op 1.12
findModifiedValidators - 100 modified validators 169.48 ms/op 153.96 ms/op 1.10
findModifiedValidators - 10 modified validators 169.92 ms/op 152.26 ms/op 1.12
findModifiedValidators - 1 modified validators 156.16 ms/op 152.23 ms/op 1.03
findModifiedValidators - no difference 178.45 ms/op 168.35 ms/op 1.06
compare ViewDUs 3.4539 s/op 2.9207 s/op 1.18
compare each validator Uint8Array 1.6242 s/op 1.5692 s/op 1.03
compare ViewDU to Uint8Array 1.3807 s/op 1.0075 s/op 1.37
migrate state 1000000 validators, 24 modified, 0 new 875.46 ms/op 761.69 ms/op 1.15
migrate state 1000000 validators, 1700 modified, 1000 new 947.65 ms/op 961.73 ms/op 0.99
migrate state 1000000 validators, 3400 modified, 2000 new 1.2089 s/op 1.1539 s/op 1.05
migrate state 1500000 validators, 24 modified, 0 new 694.68 ms/op 717.28 ms/op 0.97
migrate state 1500000 validators, 1700 modified, 1000 new 982.91 ms/op 987.65 ms/op 1.00
migrate state 1500000 validators, 3400 modified, 2000 new 1.2551 s/op 1.1428 s/op 1.10
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.9000 ns/op 4.2800 ns/op 1.14
state getBlockRootAtSlot - 250000 vs - 7PWei 582.98 ns/op 716.59 ns/op 0.81
computeProposers - vc 250000 7.3927 ms/op 6.7528 ms/op 1.09
computeEpochShuffling - vc 250000 43.552 ms/op 40.061 ms/op 1.09
getNextSyncCommittee - vc 250000 132.80 ms/op 126.99 ms/op 1.05
computeSigningRoot for AttestationData 24.354 us/op 24.968 us/op 0.98
hash AttestationData serialized data then Buffer.toString(base64) 1.6176 us/op 1.5227 us/op 1.06
toHexString serialized data 935.47 ns/op 867.43 ns/op 1.08
Buffer.toString(base64) 179.05 ns/op 183.88 ns/op 0.97
nodejs block root to RootHex using toHex 168.07 ns/op 154.69 ns/op 1.09
nodejs block root to RootHex using toRootHex 98.387 ns/op 96.509 ns/op 1.02
browser block root to RootHex using the deprecated toHexString 233.86 ns/op 224.06 ns/op 1.04
browser block root to RootHex using toHex 182.52 ns/op 183.61 ns/op 0.99
browser block root to RootHex using toRootHex 169.35 ns/op 160.37 ns/op 1.06

by benchmarkbot/action

@twoeths
Copy link
Contributor

twoeths commented Nov 6, 2024

this reverts #7204
for more info, the above PR seems to improve main thread a lot that it caused low performant on network thread due to high gc

this is peer count:

Screenshot 2024-11-07 at 06 20 40

there are too few inbound peers while a lot of out bound peers, while mesh peers are a lot which we haven't seen in past releases
Screenshot 2024-11-07 at 06 21 37

gc is so bad on network thread

Screenshot 2024-11-07 at 06 21 55

Copy link
Contributor

@twoeths twoeths left a comment

Choose a reason for hiding this comment

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

there could be other issues that we haven't found since the issue happened in rc.0 too on beta mainnet since Oct 20, but that's with libp2p 1.x. Anyway this PR definitely needs to merge and test again

@matthewkeil matthewkeil removed the status-do-not-merge Merging this issue will break the build. Do not merge! label Nov 7, 2024
@matthewkeil matthewkeil merged commit e2c45b9 into unstable Nov 7, 2024
19 of 21 checks passed
@matthewkeil matthewkeil deleted the mkeil/revert-async-aggregate-with-randomness branch November 7, 2024 04:25
matthewkeil added a commit that referenced this pull request Nov 7, 2024
Revert "feat: asyncAggregateWithRandomness (#7204)"

This reverts commit e31d535.
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.23.0 🎉

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

* feat: add keymanager endpoint to retrieve proposer config

* Do not return empty builder config

* Check all builder proposer config values

* Fix settings builder config if undefined

* Fix builder config parsing

* Use ssz type to handle json serialization

Default parsing can't handle BigInt

* Revert "Use ssz type to handle json serialization"

This reverts commit 01fcea7.

* Fix boost factor json serialization

* Remove unused import

* Update test data

* Update proposer config test

* feat: add mekong network option (#7212)

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

Fix import order

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

* Throw error if pubkey is unknown when getting graffiti

* Consistently validate pubkey and throw 404 if not found

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

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

* Fix fetching remote keys in node assertion

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

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

remove unused

fix import

metrics overhault, test, debugging testing, some feeback

fix

add nethermind bug dicussion link

fix

resolve conflicts

* deblobs timeout

* fix metric

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

Revert "feat: asyncAggregateWithRandomness (#7204)"

This reverts commit e31d535.

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

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

* initial commit

* Rewrite SyncCommitteeWitnessRepository

* Fix finality branch

* Update unit test

* fix e2e

* Review PR

---------

Co-authored-by: Nico Flaig <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>
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.24.0 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants