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: remove AttnetsService #6579

Merged
merged 5 commits into from
Mar 28, 2024
Merged

Conversation

twoeths
Copy link
Contributor

@twoeths twoeths commented Mar 22, 2024

Motivation

Remove AttnetsService so that we don't have to maintain it anymore

Description

  • Since v1.10, we use the new DLLAttnetsService by default so no need to maintain the legacy AttnetsService anymore

part of #6578

Copy link

codecov bot commented Mar 22, 2024

Codecov Report

Merging #6579 (44977c4) into unstable (2f6e819) will increase coverage by 0.07%.
Report is 2 commits behind head on unstable.
The diff coverage is 0.00%.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #6579      +/-   ##
============================================
+ Coverage     61.49%   61.57%   +0.07%     
============================================
  Files           556      555       -1     
  Lines         58895    58494     -401     
  Branches       1856     1855       -1     
============================================
- Hits          36216    36015     -201     
+ Misses        22638    22438     -200     
  Partials         41       41              

Copy link
Contributor

github-actions bot commented Mar 22, 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: 90ac00a Previous: 59a49ff Ratio
Map set x1000 53.967 ns/op 17.722 ns/op 3.05
Set add up to 64 items then delete first 5.2783 us/op 1.7379 us/op 3.04
altair processAttestation - setStatus - 100% committees join 1.7824 ms/op 580.77 us/op 3.07
Full benchmark results
Benchmark suite Current: 90ac00a Previous: 59a49ff Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 685.59 us/op 702.22 us/op 0.98
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 107.22 us/op 52.244 us/op 2.05
BLS verify - blst-native 1.3099 ms/op 1.0730 ms/op 1.22
BLS verifyMultipleSignatures 3 - blst-native 2.7501 ms/op 2.2932 ms/op 1.20
BLS verifyMultipleSignatures 8 - blst-native 6.0295 ms/op 5.0727 ms/op 1.19
BLS verifyMultipleSignatures 32 - blst-native 22.086 ms/op 18.630 ms/op 1.19
BLS verifyMultipleSignatures 64 - blst-native 43.507 ms/op 37.374 ms/op 1.16
BLS verifyMultipleSignatures 128 - blst-native 86.325 ms/op 75.284 ms/op 1.15
BLS deserializing 10000 signatures 902.21 ms/op 790.72 ms/op 1.14
BLS deserializing 100000 signatures 9.5384 s/op 8.3216 s/op 1.15
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.3861 ms/op 1.1389 ms/op 1.22
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.5285 ms/op 1.2908 ms/op 1.18
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.8093 ms/op 2.0310 ms/op 1.38
BLS verifyMultipleSignatures - same message - 64 - blst-native 4.3083 ms/op 3.8367 ms/op 1.12
BLS verifyMultipleSignatures - same message - 128 - blst-native 8.1157 ms/op 5.0126 ms/op 1.62
BLS aggregatePubkeys 32 - blst-native 26.676 us/op 22.717 us/op 1.17
BLS aggregatePubkeys 128 - blst-native 101.43 us/op 88.836 us/op 1.14
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 68.587 ms/op 49.227 ms/op 1.39
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 75.497 ms/op 43.485 ms/op 1.74
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 37.410 ms/op 26.989 ms/op 1.39
getSlashingsAndExits - default max 211.91 us/op 132.15 us/op 1.60
getSlashingsAndExits - 2k 493.36 us/op 589.16 us/op 0.84
proposeBlockBody type=full, size=empty 5.8126 ms/op 4.5829 ms/op 1.27
isKnown best case - 1 super set check 521.00 ns/op 625.00 ns/op 0.83
isKnown normal case - 2 super set checks 530.00 ns/op 656.00 ns/op 0.81
isKnown worse case - 16 super set checks 496.00 ns/op 645.00 ns/op 0.77
CheckpointStateCache - add get delete 7.3590 us/op 5.8740 us/op 1.25
validate api signedAggregateAndProof - struct 2.8380 ms/op 2.4744 ms/op 1.15
validate gossip signedAggregateAndProof - struct 2.7967 ms/op 2.4112 ms/op 1.16
validate gossip attestation - vc 640000 1.3652 ms/op 1.1962 ms/op 1.14
batch validate gossip attestation - vc 640000 - chunk 32 166.54 us/op 151.33 us/op 1.10
batch validate gossip attestation - vc 640000 - chunk 64 145.49 us/op 136.09 us/op 1.07
batch validate gossip attestation - vc 640000 - chunk 128 154.89 us/op 132.04 us/op 1.17
batch validate gossip attestation - vc 640000 - chunk 256 148.83 us/op 125.97 us/op 1.18
pickEth1Vote - no votes 1.3886 ms/op 888.51 us/op 1.56
pickEth1Vote - max votes 13.027 ms/op 7.6490 ms/op 1.70
pickEth1Vote - Eth1Data hashTreeRoot value x2048 21.125 ms/op 12.310 ms/op 1.72
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 35.740 ms/op 24.006 ms/op 1.49
pickEth1Vote - Eth1Data fastSerialize value x2048 813.92 us/op 433.08 us/op 1.88
pickEth1Vote - Eth1Data fastSerialize tree x2048 5.9166 ms/op 5.8644 ms/op 1.01
bytes32 toHexString 835.00 ns/op 472.00 ns/op 1.77
bytes32 Buffer.toString(hex) 322.00 ns/op 325.00 ns/op 0.99
bytes32 Buffer.toString(hex) from Uint8Array 561.00 ns/op 437.00 ns/op 1.28
bytes32 Buffer.toString(hex) + 0x 336.00 ns/op 331.00 ns/op 1.02
Object access 1 prop 0.21800 ns/op 0.21000 ns/op 1.04
Map access 1 prop 0.15900 ns/op 0.19300 ns/op 0.82
Object get x1000 7.9900 ns/op 5.3700 ns/op 1.49
Map get x1000 0.93400 ns/op 0.79600 ns/op 1.17
Object set x1000 68.557 ns/op 25.441 ns/op 2.69
Map set x1000 53.967 ns/op 17.722 ns/op 3.05
Return object 10000 times 0.31160 ns/op 0.23720 ns/op 1.31
Throw Error 10000 times 4.2922 us/op 2.7777 us/op 1.55
fastMsgIdFn sha256 / 200 bytes 3.4850 us/op 2.0690 us/op 1.68
fastMsgIdFn h32 xxhash / 200 bytes 350.00 ns/op 328.00 ns/op 1.07
fastMsgIdFn h64 xxhash / 200 bytes 374.00 ns/op 367.00 ns/op 1.02
fastMsgIdFn sha256 / 1000 bytes 12.059 us/op 6.3540 us/op 1.90
fastMsgIdFn h32 xxhash / 1000 bytes 459.00 ns/op 438.00 ns/op 1.05
fastMsgIdFn h64 xxhash / 1000 bytes 455.00 ns/op 417.00 ns/op 1.09
fastMsgIdFn sha256 / 10000 bytes 107.03 us/op 53.976 us/op 1.98
fastMsgIdFn h32 xxhash / 10000 bytes 2.0450 us/op 1.8990 us/op 1.08
fastMsgIdFn h64 xxhash / 10000 bytes 1.4140 us/op 1.2740 us/op 1.11
send data - 1000 256B messages 20.560 ms/op 12.425 ms/op 1.65
send data - 1000 512B messages 30.342 ms/op 14.897 ms/op 2.04
send data - 1000 1024B messages 42.553 ms/op 27.121 ms/op 1.57
send data - 1000 1200B messages 44.441 ms/op 31.509 ms/op 1.41
send data - 1000 2048B messages 55.129 ms/op 38.901 ms/op 1.42
send data - 1000 4096B messages 50.086 ms/op 33.472 ms/op 1.50
send data - 1000 16384B messages 138.52 ms/op 100.11 ms/op 1.38
send data - 1000 65536B messages 599.64 ms/op 381.11 ms/op 1.57
enrSubnets - fastDeserialize 64 bits 1.5940 us/op 1.0150 us/op 1.57
enrSubnets - ssz BitVector 64 bits 483.00 ns/op 456.00 ns/op 1.06
enrSubnets - fastDeserialize 4 bits 207.00 ns/op 204.00 ns/op 1.01
enrSubnets - ssz BitVector 4 bits 504.00 ns/op 446.00 ns/op 1.13
prioritizePeers score -10:0 att 32-0.1 sync 2-0 112.33 us/op 69.105 us/op 1.63
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 150.57 us/op 85.405 us/op 1.76
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 189.00 us/op 120.91 us/op 1.56
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 337.93 us/op 226.64 us/op 1.49
prioritizePeers score 0:0 att 64-1 sync 4-1 394.04 us/op 205.02 us/op 1.92
array of 16000 items push then shift 1.6863 us/op 1.2957 us/op 1.30
LinkedList of 16000 items push then shift 9.3610 ns/op 5.8340 ns/op 1.60
array of 16000 items push then pop 104.23 ns/op 51.289 ns/op 2.03
LinkedList of 16000 items push then pop 9.4250 ns/op 5.6360 ns/op 1.67
array of 24000 items push then shift 2.5122 us/op 1.8761 us/op 1.34
LinkedList of 24000 items push then shift 9.5980 ns/op 5.8270 ns/op 1.65
array of 24000 items push then pop 125.17 ns/op 80.226 ns/op 1.56
LinkedList of 24000 items push then pop 8.8640 ns/op 5.6510 ns/op 1.57
intersect bitArray bitLen 8 5.8610 ns/op 4.5510 ns/op 1.29
intersect array and set length 8 66.571 ns/op 47.854 ns/op 1.39
intersect bitArray bitLen 128 36.221 ns/op 28.601 ns/op 1.27
intersect array and set length 128 931.33 ns/op 676.70 ns/op 1.38
bitArray.getTrueBitIndexes() bitLen 128 1.8880 us/op 1.2680 us/op 1.49
bitArray.getTrueBitIndexes() bitLen 248 2.8850 us/op 2.0620 us/op 1.40
bitArray.getTrueBitIndexes() bitLen 512 5.8810 us/op 3.9410 us/op 1.49
Buffer.concat 32 items 1.1160 us/op 892.00 ns/op 1.25
Uint8Array.set 32 items 2.2790 us/op 1.8630 us/op 1.22
Set add up to 64 items then delete first 5.2783 us/op 1.7379 us/op 3.04
OrderedSet add up to 64 items then delete first 6.5570 us/op 2.6519 us/op 2.47
Set add up to 64 items then delete last 5.3744 us/op 1.9814 us/op 2.71
OrderedSet add up to 64 items then delete last 7.4067 us/op 2.9397 us/op 2.52
Set add up to 64 items then delete middle 5.3077 us/op 1.9803 us/op 2.68
OrderedSet add up to 64 items then delete middle 7.7431 us/op 4.1372 us/op 1.87
Set add up to 128 items then delete first 10.647 us/op 3.9253 us/op 2.71
OrderedSet add up to 128 items then delete first 14.029 us/op 6.1099 us/op 2.30
Set add up to 128 items then delete last 10.885 us/op 3.7622 us/op 2.89
OrderedSet add up to 128 items then delete last 14.916 us/op 5.6536 us/op 2.64
Set add up to 128 items then delete middle 10.936 us/op 3.7523 us/op 2.91
OrderedSet add up to 128 items then delete middle 20.560 us/op 10.505 us/op 1.96
Set add up to 256 items then delete first 21.799 us/op 7.6853 us/op 2.84
OrderedSet add up to 256 items then delete first 29.606 us/op 12.078 us/op 2.45
Set add up to 256 items then delete last 21.875 us/op 7.3913 us/op 2.96
OrderedSet add up to 256 items then delete last 30.237 us/op 11.291 us/op 2.68
Set add up to 256 items then delete middle 21.356 us/op 7.3991 us/op 2.89
OrderedSet add up to 256 items then delete middle 52.541 us/op 30.189 us/op 1.74
transfer serialized Status (84 B) 1.9140 us/op 1.3200 us/op 1.45
copy serialized Status (84 B) 1.4900 us/op 1.0740 us/op 1.39
transfer serialized SignedVoluntaryExit (112 B) 2.1810 us/op 1.4010 us/op 1.56
copy serialized SignedVoluntaryExit (112 B) 1.6240 us/op 1.1060 us/op 1.47
transfer serialized ProposerSlashing (416 B) 3.2180 us/op 2.0570 us/op 1.56
copy serialized ProposerSlashing (416 B) 2.2520 us/op 1.9890 us/op 1.13
transfer serialized Attestation (485 B) 2.5020 us/op 1.9540 us/op 1.28
copy serialized Attestation (485 B) 2.0400 us/op 1.8380 us/op 1.11
transfer serialized AttesterSlashing (33232 B) 2.2990 us/op 2.1090 us/op 1.09
copy serialized AttesterSlashing (33232 B) 9.2400 us/op 4.0480 us/op 2.28
transfer serialized Small SignedBeaconBlock (128000 B) 2.9580 us/op 1.7850 us/op 1.66
copy serialized Small SignedBeaconBlock (128000 B) 24.870 us/op 8.3590 us/op 2.98
transfer serialized Avg SignedBeaconBlock (200000 B) 3.1940 us/op 1.9330 us/op 1.65
copy serialized Avg SignedBeaconBlock (200000 B) 38.414 us/op 12.225 us/op 3.14
transfer serialized BlobsSidecar (524380 B) 4.6790 us/op 2.0250 us/op 2.31
copy serialized BlobsSidecar (524380 B) 166.41 us/op 171.27 us/op 0.97
transfer serialized Big SignedBeaconBlock (1000000 B) 4.4950 us/op 2.5140 us/op 1.79
copy serialized Big SignedBeaconBlock (1000000 B) 471.70 us/op 144.72 us/op 3.26
pass gossip attestations to forkchoice per slot 4.0519 ms/op 2.7276 ms/op 1.49
forkChoice updateHead vc 100000 bc 64 eq 0 708.95 us/op 489.19 us/op 1.45
forkChoice updateHead vc 600000 bc 64 eq 0 4.4002 ms/op 2.7366 ms/op 1.61
forkChoice updateHead vc 1000000 bc 64 eq 0 7.2353 ms/op 4.5229 ms/op 1.60
forkChoice updateHead vc 600000 bc 320 eq 0 4.3733 ms/op 2.5552 ms/op 1.71
forkChoice updateHead vc 600000 bc 1200 eq 0 4.5874 ms/op 2.6651 ms/op 1.72
forkChoice updateHead vc 600000 bc 7200 eq 0 6.0578 ms/op 3.3438 ms/op 1.81
forkChoice updateHead vc 600000 bc 64 eq 1000 12.060 ms/op 9.6986 ms/op 1.24
forkChoice updateHead vc 600000 bc 64 eq 10000 14.723 ms/op 9.7625 ms/op 1.51
forkChoice updateHead vc 600000 bc 64 eq 300000 21.803 ms/op 12.114 ms/op 1.80
computeDeltas 500000 validators 300 proto nodes 7.1821 ms/op 3.1287 ms/op 2.30
computeDeltas 500000 validators 1200 proto nodes 7.0341 ms/op 2.9631 ms/op 2.37
computeDeltas 500000 validators 7200 proto nodes 7.0523 ms/op 3.2632 ms/op 2.16
computeDeltas 750000 validators 300 proto nodes 10.483 ms/op 4.8526 ms/op 2.16
computeDeltas 750000 validators 1200 proto nodes 12.671 ms/op 4.7782 ms/op 2.65
computeDeltas 750000 validators 7200 proto nodes 12.896 ms/op 4.8722 ms/op 2.65
computeDeltas 1400000 validators 300 proto nodes 24.214 ms/op 9.0137 ms/op 2.69
computeDeltas 1400000 validators 1200 proto nodes 22.024 ms/op 9.1248 ms/op 2.41
computeDeltas 1400000 validators 7200 proto nodes 22.400 ms/op 9.0139 ms/op 2.49
computeDeltas 2100000 validators 300 proto nodes 34.356 ms/op 12.666 ms/op 2.71
computeDeltas 2100000 validators 1200 proto nodes 33.538 ms/op 12.957 ms/op 2.59
computeDeltas 2100000 validators 7200 proto nodes 29.150 ms/op 13.313 ms/op 2.19
altair processAttestation - 250000 vs - 7PWei normalcase 4.3760 ms/op 1.6027 ms/op 2.73
altair processAttestation - 250000 vs - 7PWei worstcase 6.6478 ms/op 2.3175 ms/op 2.87
altair processAttestation - setStatus - 1/6 committees join 248.92 us/op 98.768 us/op 2.52
altair processAttestation - setStatus - 1/3 committees join 484.40 us/op 200.85 us/op 2.41
altair processAttestation - setStatus - 1/2 committees join 747.78 us/op 281.44 us/op 2.66
altair processAttestation - setStatus - 2/3 committees join 819.44 us/op 375.87 us/op 2.18
altair processAttestation - setStatus - 4/5 committees join 1.1556 ms/op 491.76 us/op 2.35
altair processAttestation - setStatus - 100% committees join 1.7824 ms/op 580.77 us/op 3.07
altair processBlock - 250000 vs - 7PWei normalcase 15.592 ms/op 7.2186 ms/op 2.16
altair processBlock - 250000 vs - 7PWei normalcase hashState 56.279 ms/op 30.114 ms/op 1.87
altair processBlock - 250000 vs - 7PWei worstcase 51.963 ms/op 30.940 ms/op 1.68
altair processBlock - 250000 vs - 7PWei worstcase hashState 136.47 ms/op 90.184 ms/op 1.51
phase0 processBlock - 250000 vs - 7PWei normalcase 4.2481 ms/op 1.8863 ms/op 2.25
phase0 processBlock - 250000 vs - 7PWei worstcase 37.038 ms/op 23.704 ms/op 1.56
altair processEth1Data - 250000 vs - 7PWei normalcase 1.0733 ms/op 368.48 us/op 2.91
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 17.115 us/op 9.0520 us/op 1.89
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 108.99 us/op 53.013 us/op 2.06
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 34.280 us/op 17.918 us/op 1.91
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 22.953 us/op 8.0010 us/op 2.87
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 238.70 us/op 101.56 us/op 2.35
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.5704 ms/op 1.0578 ms/op 1.48
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.8630 ms/op 1.0323 ms/op 1.80
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.0307 ms/op 1.4796 ms/op 1.37
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.7431 ms/op 2.3059 ms/op 2.06
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 3.2772 ms/op 1.5118 ms/op 2.17
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 7.3368 ms/op 3.4643 ms/op 2.12
Tree 40 250000 create 513.27 ms/op 249.83 ms/op 2.05
Tree 40 250000 get(125000) 220.35 ns/op 111.66 ns/op 1.97
Tree 40 250000 set(125000) 1.4872 us/op 748.71 ns/op 1.99
Tree 40 250000 toArray() 24.835 ms/op 9.1599 ms/op 2.71
Tree 40 250000 iterate all - toArray() + loop 24.712 ms/op 9.3845 ms/op 2.63
Tree 40 250000 iterate all - get(i) 77.886 ms/op 37.441 ms/op 2.08
MutableVector 250000 create 17.099 ms/op 11.616 ms/op 1.47
MutableVector 250000 get(125000) 6.9250 ns/op 5.6400 ns/op 1.23
MutableVector 250000 set(125000) 379.90 ns/op 204.44 ns/op 1.86
MutableVector 250000 toArray() 4.0045 ms/op 2.3744 ms/op 1.69
MutableVector 250000 iterate all - toArray() + loop 4.1751 ms/op 2.5834 ms/op 1.62
MutableVector 250000 iterate all - get(i) 1.5911 ms/op 1.2848 ms/op 1.24
Array 250000 create 3.8242 ms/op 2.3550 ms/op 1.62
Array 250000 clone - spread 1.5526 ms/op 1.1757 ms/op 1.32
Array 250000 get(125000) 1.2540 ns/op 1.0650 ns/op 1.18
Array 250000 set(125000) 5.3290 ns/op 1.2760 ns/op 4.18
Array 250000 iterate all - loop 171.78 us/op 152.42 us/op 1.13
effectiveBalanceIncrements clone Uint8Array 300000 50.955 us/op 14.953 us/op 3.41
effectiveBalanceIncrements clone MutableVector 300000 456.00 ns/op 447.00 ns/op 1.02
effectiveBalanceIncrements rw all Uint8Array 300000 211.74 us/op 182.38 us/op 1.16
effectiveBalanceIncrements rw all MutableVector 300000 119.80 ms/op 66.367 ms/op 1.81
phase0 afterProcessEpoch - 250000 vs - 7PWei 119.13 ms/op 76.436 ms/op 1.56
phase0 beforeProcessEpoch - 250000 vs - 7PWei 59.044 ms/op 42.630 ms/op 1.39
altair processEpoch - mainnet_e81889 515.74 ms/op 404.27 ms/op 1.28
mainnet_e81889 - altair beforeProcessEpoch 84.769 ms/op 67.733 ms/op 1.25
mainnet_e81889 - altair processJustificationAndFinalization 14.596 us/op 10.550 us/op 1.38
mainnet_e81889 - altair processInactivityUpdates 6.1199 ms/op 4.0237 ms/op 1.52
mainnet_e81889 - altair processRewardsAndPenalties 53.397 ms/op 63.182 ms/op 0.85
mainnet_e81889 - altair processRegistryUpdates 2.3660 us/op 1.5430 us/op 1.53
mainnet_e81889 - altair processSlashings 489.00 ns/op 546.00 ns/op 0.90
mainnet_e81889 - altair processEth1DataReset 575.00 ns/op 561.00 ns/op 1.02
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.4279 ms/op 1.7538 ms/op 0.81
mainnet_e81889 - altair processSlashingsReset 3.4150 us/op 2.2460 us/op 1.52
mainnet_e81889 - altair processRandaoMixesReset 5.8080 us/op 2.5420 us/op 2.28
mainnet_e81889 - altair processHistoricalRootsUpdate 914.00 ns/op 683.00 ns/op 1.34
mainnet_e81889 - altair processParticipationFlagUpdates 2.2780 us/op 1.6330 us/op 1.39
mainnet_e81889 - altair processSyncCommitteeUpdates 927.00 ns/op 524.00 ns/op 1.77
mainnet_e81889 - altair afterProcessEpoch 126.42 ms/op 81.552 ms/op 1.55
capella processEpoch - mainnet_e217614 3.0942 s/op 1.7112 s/op 1.81
mainnet_e217614 - capella beforeProcessEpoch 788.66 ms/op 387.16 ms/op 2.04
mainnet_e217614 - capella processJustificationAndFinalization 34.418 us/op 7.4610 us/op 4.61
mainnet_e217614 - capella processInactivityUpdates 31.931 ms/op 16.184 ms/op 1.97
mainnet_e217614 - capella processRewardsAndPenalties 805.41 ms/op 443.90 ms/op 1.81
mainnet_e217614 - capella processRegistryUpdates 60.712 us/op 24.923 us/op 2.44
mainnet_e217614 - capella processSlashings 1.5690 us/op 622.00 ns/op 2.52
mainnet_e217614 - capella processEth1DataReset 1.3990 us/op 666.00 ns/op 2.10
mainnet_e217614 - capella processEffectiveBalanceUpdates 6.9601 ms/op 3.5063 ms/op 1.99
mainnet_e217614 - capella processSlashingsReset 5.6460 us/op 2.6990 us/op 2.09
mainnet_e217614 - capella processRandaoMixesReset 7.6820 us/op 5.3110 us/op 1.45
mainnet_e217614 - capella processHistoricalRootsUpdate 1.8510 us/op 474.00 ns/op 3.91
mainnet_e217614 - capella processParticipationFlagUpdates 3.4930 us/op 1.2230 us/op 2.86
mainnet_e217614 - capella afterProcessEpoch 416.88 ms/op 208.28 ms/op 2.00
phase0 processEpoch - mainnet_e58758 512.91 ms/op 367.95 ms/op 1.39
mainnet_e58758 - phase0 beforeProcessEpoch 160.11 ms/op 104.41 ms/op 1.53
mainnet_e58758 - phase0 processJustificationAndFinalization 26.003 us/op 14.108 us/op 1.84
mainnet_e58758 - phase0 processRewardsAndPenalties 87.480 ms/op 58.003 ms/op 1.51
mainnet_e58758 - phase0 processRegistryUpdates 16.149 us/op 8.5600 us/op 1.89
mainnet_e58758 - phase0 processSlashings 706.00 ns/op 565.00 ns/op 1.25
mainnet_e58758 - phase0 processEth1DataReset 679.00 ns/op 568.00 ns/op 1.20
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 2.4331 ms/op 806.72 us/op 3.02
mainnet_e58758 - phase0 processSlashingsReset 3.8110 us/op 2.3460 us/op 1.62
mainnet_e58758 - phase0 processRandaoMixesReset 4.9610 us/op 3.8630 us/op 1.28
mainnet_e58758 - phase0 processHistoricalRootsUpdate 818.00 ns/op 588.00 ns/op 1.39
mainnet_e58758 - phase0 processParticipationRecordUpdates 9.2480 us/op 3.4800 us/op 2.66
mainnet_e58758 - phase0 afterProcessEpoch 108.81 ms/op 68.290 ms/op 1.59
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.5039 ms/op 1.0074 ms/op 1.49
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.3905 ms/op 1.1336 ms/op 2.11
altair processInactivityUpdates - 250000 normalcase 26.850 ms/op 21.702 ms/op 1.24
altair processInactivityUpdates - 250000 worstcase 28.652 ms/op 25.116 ms/op 1.14
phase0 processRegistryUpdates - 250000 normalcase 21.563 us/op 10.234 us/op 2.11
phase0 processRegistryUpdates - 250000 badcase_full_deposits 578.61 us/op 407.61 us/op 1.42
phase0 processRegistryUpdates - 250000 worstcase 0.5 183.84 ms/op 108.79 ms/op 1.69
altair processRewardsAndPenalties - 250000 normalcase 88.638 ms/op 71.084 ms/op 1.25
altair processRewardsAndPenalties - 250000 worstcase 89.091 ms/op 58.030 ms/op 1.54
phase0 getAttestationDeltas - 250000 normalcase 14.656 ms/op 5.6628 ms/op 2.59
phase0 getAttestationDeltas - 250000 worstcase 14.308 ms/op 5.8396 ms/op 2.45
phase0 processSlashings - 250000 worstcase 154.10 us/op 89.160 us/op 1.73
altair processSyncCommitteeUpdates - 250000 201.09 ms/op 110.90 ms/op 1.81
BeaconState.hashTreeRoot - No change 825.00 ns/op 401.00 ns/op 2.06
BeaconState.hashTreeRoot - 1 full validator 161.89 us/op 95.098 us/op 1.70
BeaconState.hashTreeRoot - 32 full validator 1.6097 ms/op 1.1800 ms/op 1.36
BeaconState.hashTreeRoot - 512 full validator 22.419 ms/op 13.236 ms/op 1.69
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 221.75 us/op 202.53 us/op 1.09
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.6241 ms/op 2.5664 ms/op 1.02
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 43.013 ms/op 32.653 ms/op 1.32
BeaconState.hashTreeRoot - 1 balances 181.42 us/op 132.72 us/op 1.37
BeaconState.hashTreeRoot - 32 balances 1.8511 ms/op 1.2885 ms/op 1.44
BeaconState.hashTreeRoot - 512 balances 15.056 ms/op 13.275 ms/op 1.13
BeaconState.hashTreeRoot - 250000 balances 255.54 ms/op 220.65 ms/op 1.16
aggregationBits - 2048 els - zipIndexesInBitList 46.664 us/op 28.187 us/op 1.66
byteArrayEquals 32 95.504 ns/op 63.299 ns/op 1.51
Buffer.compare 32 62.226 ns/op 35.853 ns/op 1.74
byteArrayEquals 1024 2.6296 us/op 1.7071 us/op 1.54
Buffer.compare 1024 85.454 ns/op 43.227 ns/op 1.98
byteArrayEquals 16384 41.660 us/op 26.886 us/op 1.55
Buffer.compare 16384 340.01 ns/op 223.80 ns/op 1.52
byteArrayEquals 123687377 362.04 ms/op 207.56 ms/op 1.74
Buffer.compare 123687377 11.738 ms/op 3.9913 ms/op 2.94
byteArrayEquals 32 - diff last byte 101.66 ns/op 61.177 ns/op 1.66
Buffer.compare 32 - diff last byte 67.013 ns/op 37.759 ns/op 1.77
byteArrayEquals 1024 - diff last byte 2.9580 us/op 1.7043 us/op 1.74
Buffer.compare 1024 - diff last byte 81.769 ns/op 46.105 ns/op 1.77
byteArrayEquals 16384 - diff last byte 37.251 us/op 27.228 us/op 1.37
Buffer.compare 16384 - diff last byte 357.62 ns/op 217.83 ns/op 1.64
byteArrayEquals 123687377 - diff last byte 251.36 ms/op 198.89 ms/op 1.26
Buffer.compare 123687377 - diff last byte 6.8367 ms/op 5.3550 ms/op 1.28
byteArrayEquals 32 - random bytes 5.5510 ns/op 4.5880 ns/op 1.21
Buffer.compare 32 - random bytes 63.010 ns/op 38.711 ns/op 1.63
byteArrayEquals 1024 - random bytes 5.3550 ns/op 4.2930 ns/op 1.25
Buffer.compare 1024 - random bytes 61.704 ns/op 34.313 ns/op 1.80
byteArrayEquals 16384 - random bytes 5.2980 ns/op 4.2980 ns/op 1.23
Buffer.compare 16384 - random bytes 61.169 ns/op 34.966 ns/op 1.75
byteArrayEquals 123687377 - random bytes 8.6200 ns/op 7.7700 ns/op 1.11
Buffer.compare 123687377 - random bytes 65.600 ns/op 38.470 ns/op 1.71
regular array get 100000 times 46.143 us/op 39.840 us/op 1.16
wrappedArray get 100000 times 45.705 us/op 39.454 us/op 1.16
arrayWithProxy get 100000 times 14.475 ms/op 9.9750 ms/op 1.45
ssz.Root.equals 55.331 ns/op 53.394 ns/op 1.04
byteArrayEquals 54.219 ns/op 51.928 ns/op 1.04
Buffer.compare 11.828 ns/op 9.1380 ns/op 1.29
shuffle list - 16384 els 8.7339 ms/op 5.7688 ms/op 1.51
shuffle list - 250000 els 127.63 ms/op 81.578 ms/op 1.56
processSlot - 1 slots 17.674 us/op 11.472 us/op 1.54
processSlot - 32 slots 4.0221 ms/op 2.2436 ms/op 1.79
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 67.245 ms/op 52.021 ms/op 1.29
getCommitteeAssignments - req 1 vs - 250000 vc 2.7419 ms/op 2.3972 ms/op 1.14
getCommitteeAssignments - req 100 vs - 250000 vc 3.9688 ms/op 3.5289 ms/op 1.12
getCommitteeAssignments - req 1000 vs - 250000 vc 4.3658 ms/op 3.8139 ms/op 1.14
findModifiedValidators - 10000 modified validators 705.72 ms/op 397.34 ms/op 1.78
findModifiedValidators - 1000 modified validators 473.19 ms/op 325.29 ms/op 1.45
findModifiedValidators - 100 modified validators 429.73 ms/op 316.90 ms/op 1.36
findModifiedValidators - 10 modified validators 435.91 ms/op 320.17 ms/op 1.36
findModifiedValidators - 1 modified validators 428.59 ms/op 290.97 ms/op 1.47
findModifiedValidators - no difference 444.12 ms/op 319.64 ms/op 1.39
compare ViewDUs 4.6618 s/op 3.9119 s/op 1.19
compare each validator Uint8Array 1.7140 s/op 1.5831 s/op 1.08
compare ViewDU to Uint8Array 1.3516 s/op 843.24 ms/op 1.60
migrate state 1000000 validators, 24 modified, 0 new 848.70 ms/op 712.52 ms/op 1.19
migrate state 1000000 validators, 1700 modified, 1000 new 1.1719 s/op 901.27 ms/op 1.30
migrate state 1000000 validators, 3400 modified, 2000 new 1.3952 s/op 1.1255 s/op 1.24
migrate state 1500000 validators, 24 modified, 0 new 864.85 ms/op 694.00 ms/op 1.25
migrate state 1500000 validators, 1700 modified, 1000 new 1.2930 s/op 983.19 ms/op 1.32
migrate state 1500000 validators, 3400 modified, 2000 new 1.8783 s/op 1.0847 s/op 1.73
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 7.8000 ns/op 4.4100 ns/op 1.77
state getBlockRootAtSlot - 250000 vs - 7PWei 839.51 ns/op 383.44 ns/op 2.19
computeProposers - vc 250000 11.199 ms/op 5.6799 ms/op 1.97
computeEpochShuffling - vc 250000 153.48 ms/op 83.109 ms/op 1.85
getNextSyncCommittee - vc 250000 180.84 ms/op 96.041 ms/op 1.88
computeSigningRoot for AttestationData 34.088 us/op 29.922 us/op 1.14
hash AttestationData serialized data then Buffer.toString(base64) 2.4926 us/op 1.2464 us/op 2.00
toHexString serialized data 1.4810 us/op 789.90 ns/op 1.87
Buffer.toString(base64) 341.95 ns/op 158.06 ns/op 2.16

by benchmarkbot/action

@twoeths twoeths marked this pull request as ready for review March 22, 2024 09:08
@twoeths twoeths requested a review from a team as a code owner March 22, 2024 09:08
Copy link
Member

@nflaig nflaig left a comment

Choose a reason for hiding this comment

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

LGTM, just some thoughts about the naming going forward

name: "lodestar_attnets_service_subscribe_subnets_total",
help: "Count of subscribe_subnets calls",
labelNames: ["subnet", "src"],
}),
unsubscribeSubnets: register.gauge<{subnet: number; src: SubnetSource | DLLSubnetSource}>({
unsubscribeSubnets: register.gauge<{subnet: number; src: DLLSubnetSource}>({
Copy link
Member

Choose a reason for hiding this comment

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

might wanna rename this now as there is only one type of subnet now

Suggested change
unsubscribeSubnets: register.gauge<{subnet: number; src: DLLSubnetSource}>({
unsubscribeSubnets: register.gauge<{subnet: number; src: SubnetSource}>({

const attnetsService = opts.deterministicLongLivedAttnets
? new DLLAttnetsService(config, clock, gossip, metadata, logger, metrics, nodeId, opts)
: new AttnetsService(config, clock, gossip, metadata, logger, metrics, opts);
const attnetsService = new DLLAttnetsService(config, clock, gossip, metadata, logger, metrics, nodeId, opts);
Copy link
Member

Choose a reason for hiding this comment

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

same here, we can keep the naming but as DLL subnets are the de factor standard now, could consider removing prefix

@twoeths twoeths force-pushed the tuyen/remove_legacy_attnet_service branch from 672c8b0 to 9e0cb99 Compare March 26, 2024 04:15
Copy link
Member

@nflaig nflaig left a comment

Choose a reason for hiding this comment

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

the diff is pretty interesting now if you wanna compare the difference between prev. attnet service and dll attnet service but I am wondering if we should rather remove the last commit in this PR and create a follow up PR instead

@twoeths twoeths merged commit d8f6199 into unstable Mar 28, 2024
17 of 20 checks passed
@twoeths twoeths deleted the tuyen/remove_legacy_attnet_service branch March 28, 2024 01:31
@wemeetagain
Copy link
Member

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