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: add vscode workspace settings #7173

Merged
merged 11 commits into from
Oct 22, 2024
Merged

chore: add vscode workspace settings #7173

merged 11 commits into from
Oct 22, 2024

Conversation

nazarhussain
Copy link
Contributor

@nazarhussain nazarhussain commented Oct 17, 2024

Motivation

Share goodies with all the team.

Description

  • As per VSCode .vscode/settings.json file is the only way to share single root workspace settings among team.
  • If any team member been using some good settings, would be nice to share with others

Steps to test or reproduce

  • Run all tests

Additional Notes

From the VSCode

VS Code stores workspace settings at the root of the project in a .vscode folder. This makes it easy to share settings with others in a version-controlled (for example, Git) project.

@nazarhussain nazarhussain requested a review from a team as a code owner October 17, 2024 11:41
@nazarhussain nazarhussain self-assigned this Oct 17, 2024
matthewkeil
matthewkeil previously approved these changes Oct 17, 2024
Copy link
Member

@matthewkeil matthewkeil left a comment

Choose a reason for hiding this comment

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

Not sure how others will feel but im open to it.

@nazarhussain
Copy link
Contributor Author

Not sure how others will feel but im open to it.

Opened PR, to engage others in this discussion to get their opinion.

.vscode/extensions.json Outdated Show resolved Hide resolved
Copy link

codecov bot commented Oct 17, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 49.21%. Comparing base (de0d6ab) to head (207e28c).
Report is 18 commits behind head on unstable.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #7173   +/-   ##
=========================================
  Coverage     49.21%   49.21%           
=========================================
  Files           598      598           
  Lines         39726    39794   +68     
  Branches       2092     2097    +5     
=========================================
+ Hits          19550    19585   +35     
- Misses        20136    20169   +33     
  Partials         40       40           

Copy link
Contributor

github-actions bot commented Oct 17, 2024

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 539943c Previous: 0e4ea98 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.0334 ms/op 2.0059 ms/op 1.01
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 54.766 us/op 52.802 us/op 1.04
BLS verify - blst 849.93 us/op 1.0596 ms/op 0.80
BLS verifyMultipleSignatures 3 - blst 1.2566 ms/op 1.5554 ms/op 0.81
BLS verifyMultipleSignatures 8 - blst 1.7449 ms/op 2.1669 ms/op 0.81
BLS verifyMultipleSignatures 32 - blst 4.8888 ms/op 6.5700 ms/op 0.74
BLS verifyMultipleSignatures 64 - blst 9.3127 ms/op 10.692 ms/op 0.87
BLS verifyMultipleSignatures 128 - blst 18.602 ms/op 16.812 ms/op 1.11
BLS deserializing 10000 signatures 714.41 ms/op 677.33 ms/op 1.05
BLS deserializing 100000 signatures 6.9847 s/op 6.8036 s/op 1.03
BLS verifyMultipleSignatures - same message - 3 - blst 1.0500 ms/op 1.1141 ms/op 0.94
BLS verifyMultipleSignatures - same message - 8 - blst 1.2555 ms/op 1.2213 ms/op 1.03
BLS verifyMultipleSignatures - same message - 32 - blst 1.8906 ms/op 1.9477 ms/op 0.97
BLS verifyMultipleSignatures - same message - 64 - blst 2.6551 ms/op 2.7373 ms/op 0.97
BLS verifyMultipleSignatures - same message - 128 - blst 4.4345 ms/op 4.2726 ms/op 1.04
BLS aggregatePubkeys 32 - blst 20.112 us/op 19.929 us/op 1.01
BLS aggregatePubkeys 128 - blst 71.941 us/op 69.957 us/op 1.03
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 60.884 ms/op 68.645 ms/op 0.89
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 53.363 ms/op 82.275 ms/op 0.65
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 44.642 ms/op 49.766 ms/op 0.90
getSlashingsAndExits - default max 103.72 us/op 99.023 us/op 1.05
getSlashingsAndExits - 2k 329.99 us/op 341.76 us/op 0.97
proposeBlockBody type=full, size=empty 7.1017 ms/op 7.0070 ms/op 1.01
isKnown best case - 1 super set check 557.00 ns/op 333.00 ns/op 1.67
isKnown normal case - 2 super set checks 490.00 ns/op 401.00 ns/op 1.22
isKnown worse case - 16 super set checks 470.00 ns/op 391.00 ns/op 1.20
InMemoryCheckpointStateCache - add get delete 3.2250 us/op 3.1950 us/op 1.01
updateUnfinalizedPubkeys - updating 10 pubkeys 1.3238 ms/op 1.4246 ms/op 0.93
updateUnfinalizedPubkeys - updating 100 pubkeys 3.9261 ms/op 3.6270 ms/op 1.08
updateUnfinalizedPubkeys - updating 1000 pubkeys 55.473 ms/op 62.567 ms/op 0.89
validate api signedAggregateAndProof - struct 1.4972 ms/op 2.9206 ms/op 0.51
validate gossip signedAggregateAndProof - struct 1.5321 ms/op 2.0658 ms/op 0.74
batch validate gossip attestation - vc 640000 - chunk 32 143.43 us/op 137.91 us/op 1.04
batch validate gossip attestation - vc 640000 - chunk 64 129.07 us/op 122.73 us/op 1.05
batch validate gossip attestation - vc 640000 - chunk 128 114.39 us/op 114.01 us/op 1.00
batch validate gossip attestation - vc 640000 - chunk 256 102.51 us/op 108.49 us/op 0.94
pickEth1Vote - no votes 1.0856 ms/op 1.0255 ms/op 1.06
pickEth1Vote - max votes 5.3243 ms/op 7.1150 ms/op 0.75
pickEth1Vote - Eth1Data hashTreeRoot value x2048 12.798 ms/op 15.159 ms/op 0.84
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 15.500 ms/op 22.728 ms/op 0.68
pickEth1Vote - Eth1Data fastSerialize value x2048 500.02 us/op 452.00 us/op 1.11
pickEth1Vote - Eth1Data fastSerialize tree x2048 2.4084 ms/op 4.0139 ms/op 0.60
bytes32 toHexString 456.00 ns/op 434.00 ns/op 1.05
bytes32 Buffer.toString(hex) 252.00 ns/op 250.00 ns/op 1.01
bytes32 Buffer.toString(hex) from Uint8Array 370.00 ns/op 362.00 ns/op 1.02
bytes32 Buffer.toString(hex) + 0x 256.00 ns/op 254.00 ns/op 1.01
Object access 1 prop 0.14600 ns/op 0.13300 ns/op 1.10
Map access 1 prop 0.13600 ns/op 0.13100 ns/op 1.04
Object get x1000 5.9930 ns/op 6.0210 ns/op 1.00
Map get x1000 6.6100 ns/op 6.3380 ns/op 1.04
Object set x1000 35.945 ns/op 33.319 ns/op 1.08
Map set x1000 24.042 ns/op 22.099 ns/op 1.09
Return object 10000 times 0.29360 ns/op 0.28680 ns/op 1.02
Throw Error 10000 times 3.3925 us/op 3.3022 us/op 1.03
toHex 159.31 ns/op 145.89 ns/op 1.09
Buffer.from 146.00 ns/op 148.93 ns/op 0.98
shared Buffer 103.19 ns/op 87.221 ns/op 1.18
fastMsgIdFn sha256 / 200 bytes 2.2710 us/op 2.1690 us/op 1.05
fastMsgIdFn h32 xxhash / 200 bytes 234.00 ns/op 231.00 ns/op 1.01
fastMsgIdFn h64 xxhash / 200 bytes 269.00 ns/op 265.00 ns/op 1.02
fastMsgIdFn sha256 / 1000 bytes 7.6240 us/op 7.2990 us/op 1.04
fastMsgIdFn h32 xxhash / 1000 bytes 364.00 ns/op 360.00 ns/op 1.01
fastMsgIdFn h64 xxhash / 1000 bytes 347.00 ns/op 334.00 ns/op 1.04
fastMsgIdFn sha256 / 10000 bytes 65.406 us/op 64.585 us/op 1.01
fastMsgIdFn h32 xxhash / 10000 bytes 1.8360 us/op 1.8310 us/op 1.00
fastMsgIdFn h64 xxhash / 10000 bytes 1.1890 us/op 1.2120 us/op 0.98
send data - 1000 256B messages 11.314 ms/op 13.121 ms/op 0.86
send data - 1000 512B messages 15.974 ms/op 16.463 ms/op 0.97
send data - 1000 1024B messages 25.039 ms/op 28.366 ms/op 0.88
send data - 1000 1200B messages 24.996 ms/op 27.838 ms/op 0.90
send data - 1000 2048B messages 30.434 ms/op 33.181 ms/op 0.92
send data - 1000 4096B messages 32.340 ms/op 31.330 ms/op 1.03
send data - 1000 16384B messages 70.559 ms/op 71.958 ms/op 0.98
send data - 1000 65536B messages 197.44 ms/op 221.19 ms/op 0.89
enrSubnets - fastDeserialize 64 bits 1.0530 us/op 1.0810 us/op 0.97
enrSubnets - ssz BitVector 64 bits 363.00 ns/op 348.00 ns/op 1.04
enrSubnets - fastDeserialize 4 bits 145.00 ns/op 142.00 ns/op 1.02
enrSubnets - ssz BitVector 4 bits 359.00 ns/op 352.00 ns/op 1.02
prioritizePeers score -10:0 att 32-0.1 sync 2-0 146.63 us/op 159.62 us/op 0.92
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 142.74 us/op 139.29 us/op 1.02
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 255.10 us/op 229.53 us/op 1.11
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 416.12 us/op 600.01 us/op 0.69
prioritizePeers score 0:0 att 64-1 sync 4-1 670.54 us/op 857.27 us/op 0.78
array of 16000 items push then shift 1.6784 us/op 1.6195 us/op 1.04
LinkedList of 16000 items push then shift 7.4370 ns/op 7.0970 ns/op 1.05
array of 16000 items push then pop 128.90 ns/op 114.10 ns/op 1.13
LinkedList of 16000 items push then pop 7.1980 ns/op 6.9250 ns/op 1.04
array of 24000 items push then shift 2.4861 us/op 2.3825 us/op 1.04
LinkedList of 24000 items push then shift 7.4810 ns/op 6.9990 ns/op 1.07
array of 24000 items push then pop 168.79 ns/op 135.84 ns/op 1.24
LinkedList of 24000 items push then pop 7.2290 ns/op 6.8360 ns/op 1.06
intersect bitArray bitLen 8 6.4630 ns/op 6.3530 ns/op 1.02
intersect array and set length 8 48.801 ns/op 46.517 ns/op 1.05
intersect bitArray bitLen 128 30.233 ns/op 29.311 ns/op 1.03
intersect array and set length 128 697.62 ns/op 671.89 ns/op 1.04
bitArray.getTrueBitIndexes() bitLen 128 1.8920 us/op 2.5700 us/op 0.74
bitArray.getTrueBitIndexes() bitLen 248 3.6210 us/op 3.7180 us/op 0.97
bitArray.getTrueBitIndexes() bitLen 512 8.4970 us/op 8.1740 us/op 1.04
Buffer.concat 32 items 952.00 ns/op 898.00 ns/op 1.06
Uint8Array.set 32 items 1.9200 us/op 1.3780 us/op 1.39
Buffer.copy 2.1200 us/op 1.6790 us/op 1.26
Uint8Array.set - with subarray 2.7810 us/op 2.6400 us/op 1.05
Uint8Array.set - without subarray 1.4630 us/op 1.4980 us/op 0.98
getUint32 - dataview 247.00 ns/op 248.00 ns/op 1.00
getUint32 - manual 171.00 ns/op 155.00 ns/op 1.10
Set add up to 64 items then delete first 2.3257 us/op 2.2287 us/op 1.04
OrderedSet add up to 64 items then delete first 3.3963 us/op 3.2775 us/op 1.04
Set add up to 64 items then delete last 2.5514 us/op 2.5198 us/op 1.01
OrderedSet add up to 64 items then delete last 3.7027 us/op 3.7371 us/op 0.99
Set add up to 64 items then delete middle 2.5805 us/op 2.5631 us/op 1.01
OrderedSet add up to 64 items then delete middle 5.2220 us/op 5.2585 us/op 0.99
Set add up to 128 items then delete first 5.1717 us/op 5.0662 us/op 1.02
OrderedSet add up to 128 items then delete first 7.8169 us/op 7.9946 us/op 0.98
Set add up to 128 items then delete last 5.1649 us/op 4.9965 us/op 1.03
OrderedSet add up to 128 items then delete last 7.5089 us/op 7.3425 us/op 1.02
Set add up to 128 items then delete middle 4.9942 us/op 4.9084 us/op 1.02
OrderedSet add up to 128 items then delete middle 13.801 us/op 13.875 us/op 0.99
Set add up to 256 items then delete first 10.309 us/op 10.742 us/op 0.96
OrderedSet add up to 256 items then delete first 15.846 us/op 16.271 us/op 0.97
Set add up to 256 items then delete last 10.075 us/op 9.9144 us/op 1.02
OrderedSet add up to 256 items then delete last 15.394 us/op 14.786 us/op 1.04
Set add up to 256 items then delete middle 10.084 us/op 9.8693 us/op 1.02
OrderedSet add up to 256 items then delete middle 41.559 us/op 41.582 us/op 1.00
transfer serialized Status (84 B) 1.3480 us/op 1.3790 us/op 0.98
copy serialized Status (84 B) 1.1860 us/op 1.1390 us/op 1.04
transfer serialized SignedVoluntaryExit (112 B) 1.4380 us/op 1.4480 us/op 0.99
copy serialized SignedVoluntaryExit (112 B) 1.1880 us/op 1.1630 us/op 1.02
transfer serialized ProposerSlashing (416 B) 1.5390 us/op 1.5040 us/op 1.02
copy serialized ProposerSlashing (416 B) 1.3390 us/op 1.4370 us/op 0.93
transfer serialized Attestation (485 B) 1.5650 us/op 1.6060 us/op 0.97
copy serialized Attestation (485 B) 1.4980 us/op 1.4530 us/op 1.03
transfer serialized AttesterSlashing (33232 B) 1.7290 us/op 1.8320 us/op 0.94
copy serialized AttesterSlashing (33232 B) 5.7290 us/op 4.6940 us/op 1.22
transfer serialized Small SignedBeaconBlock (128000 B) 2.5410 us/op 2.5760 us/op 0.99
copy serialized Small SignedBeaconBlock (128000 B) 20.153 us/op 15.471 us/op 1.30
transfer serialized Avg SignedBeaconBlock (200000 B) 3.0240 us/op 3.1770 us/op 0.95
copy serialized Avg SignedBeaconBlock (200000 B) 27.736 us/op 23.055 us/op 1.20
transfer serialized BlobsSidecar (524380 B) 2.6400 us/op 2.7930 us/op 0.95
copy serialized BlobsSidecar (524380 B) 78.259 us/op 87.570 us/op 0.89
transfer serialized Big SignedBeaconBlock (1000000 B) 2.7640 us/op 2.7740 us/op 1.00
copy serialized Big SignedBeaconBlock (1000000 B) 165.24 us/op 146.23 us/op 1.13
pass gossip attestations to forkchoice per slot 2.8152 ms/op 2.8189 ms/op 1.00
forkChoice updateHead vc 100000 bc 64 eq 0 451.39 us/op 494.87 us/op 0.91
forkChoice updateHead vc 600000 bc 64 eq 0 3.3996 ms/op 2.7596 ms/op 1.23
forkChoice updateHead vc 1000000 bc 64 eq 0 4.9126 ms/op 6.2508 ms/op 0.79
forkChoice updateHead vc 600000 bc 320 eq 0 2.7931 ms/op 2.7565 ms/op 1.01
forkChoice updateHead vc 600000 bc 1200 eq 0 2.8468 ms/op 2.8289 ms/op 1.01
forkChoice updateHead vc 600000 bc 7200 eq 0 3.7762 ms/op 3.5496 ms/op 1.06
forkChoice updateHead vc 600000 bc 64 eq 1000 10.414 ms/op 10.159 ms/op 1.03
forkChoice updateHead vc 600000 bc 64 eq 10000 10.397 ms/op 10.276 ms/op 1.01
forkChoice updateHead vc 600000 bc 64 eq 300000 13.964 ms/op 13.353 ms/op 1.05
computeDeltas 500000 validators 300 proto nodes 4.3105 ms/op 4.0134 ms/op 1.07
computeDeltas 500000 validators 1200 proto nodes 4.2437 ms/op 4.0557 ms/op 1.05
computeDeltas 500000 validators 7200 proto nodes 4.2640 ms/op 3.9924 ms/op 1.07
computeDeltas 750000 validators 300 proto nodes 6.2269 ms/op 5.9964 ms/op 1.04
computeDeltas 750000 validators 1200 proto nodes 6.2741 ms/op 5.9374 ms/op 1.06
computeDeltas 750000 validators 7200 proto nodes 6.2028 ms/op 6.0071 ms/op 1.03
computeDeltas 1400000 validators 300 proto nodes 11.184 ms/op 11.315 ms/op 0.99
computeDeltas 1400000 validators 1200 proto nodes 11.392 ms/op 11.231 ms/op 1.01
computeDeltas 1400000 validators 7200 proto nodes 11.333 ms/op 11.052 ms/op 1.03
computeDeltas 2100000 validators 300 proto nodes 17.717 ms/op 17.513 ms/op 1.01
computeDeltas 2100000 validators 1200 proto nodes 18.387 ms/op 17.427 ms/op 1.06
computeDeltas 2100000 validators 7200 proto nodes 19.870 ms/op 17.349 ms/op 1.15
altair processAttestation - 250000 vs - 7PWei normalcase 3.1890 ms/op 1.7914 ms/op 1.78
altair processAttestation - 250000 vs - 7PWei worstcase 4.1023 ms/op 2.6506 ms/op 1.55
altair processAttestation - setStatus - 1/6 committees join 115.46 us/op 119.07 us/op 0.97
altair processAttestation - setStatus - 1/3 committees join 250.15 us/op 314.41 us/op 0.80
altair processAttestation - setStatus - 1/2 committees join 459.71 us/op 647.38 us/op 0.71
altair processAttestation - setStatus - 2/3 committees join 398.19 us/op 409.69 us/op 0.97
altair processAttestation - setStatus - 4/5 committees join 625.74 us/op 578.15 us/op 1.08
altair processAttestation - setStatus - 100% committees join 718.46 us/op 656.51 us/op 1.09
altair processBlock - 250000 vs - 7PWei normalcase 7.2845 ms/op 5.7935 ms/op 1.26
altair processBlock - 250000 vs - 7PWei normalcase hashState 31.965 ms/op 28.395 ms/op 1.13
altair processBlock - 250000 vs - 7PWei worstcase 40.445 ms/op 42.061 ms/op 0.96
altair processBlock - 250000 vs - 7PWei worstcase hashState 85.116 ms/op 82.579 ms/op 1.03
phase0 processBlock - 250000 vs - 7PWei normalcase 2.6405 ms/op 2.2153 ms/op 1.19
phase0 processBlock - 250000 vs - 7PWei worstcase 26.520 ms/op 27.230 ms/op 0.97
altair processEth1Data - 250000 vs - 7PWei normalcase 601.23 us/op 325.79 us/op 1.85
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 9.0120 us/op 11.211 us/op 0.80
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 50.632 us/op 44.406 us/op 1.14
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 14.937 us/op 13.624 us/op 1.10
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 11.885 us/op 8.8280 us/op 1.35
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 241.50 us/op 188.31 us/op 1.28
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.5081 ms/op 2.0246 ms/op 0.74
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.7227 ms/op 1.4585 ms/op 1.18
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.6182 ms/op 2.8397 ms/op 0.57
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.7280 ms/op 3.4683 ms/op 1.36
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.6674 ms/op 2.2159 ms/op 0.75
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.6399 ms/op 3.5533 ms/op 1.31
Tree 40 250000 create 281.00 ms/op 217.81 ms/op 1.29
Tree 40 250000 get(125000) 159.64 ns/op 143.42 ns/op 1.11
Tree 40 250000 set(125000) 761.03 ns/op 588.05 ns/op 1.29
Tree 40 250000 toArray() 21.456 ms/op 14.802 ms/op 1.45
Tree 40 250000 iterate all - toArray() + loop 21.329 ms/op 15.171 ms/op 1.41
Tree 40 250000 iterate all - get(i) 61.666 ms/op 47.480 ms/op 1.30
Array 250000 create 4.2035 ms/op 2.8945 ms/op 1.45
Array 250000 clone - spread 1.5962 ms/op 1.3508 ms/op 1.18
Array 250000 get(125000) 0.43500 ns/op 0.42500 ns/op 1.02
Array 250000 set(125000) 0.44600 ns/op 0.43600 ns/op 1.02
Array 250000 iterate all - loop 84.865 us/op 95.755 us/op 0.89
phase0 afterProcessEpoch - 250000 vs - 7PWei 54.790 ms/op 49.622 ms/op 1.10
Array.fill - length 1000000 5.0270 ms/op 3.4872 ms/op 1.44
Array push - length 1000000 20.377 ms/op 16.828 ms/op 1.21
Array.get 0.29673 ns/op 0.27044 ns/op 1.10
Uint8Array.get 0.46874 ns/op 0.43505 ns/op 1.08
phase0 beforeProcessEpoch - 250000 vs - 7PWei 30.103 ms/op 17.839 ms/op 1.69
altair processEpoch - mainnet_e81889 420.54 ms/op 297.97 ms/op 1.41
mainnet_e81889 - altair beforeProcessEpoch 26.729 ms/op 18.335 ms/op 1.46
mainnet_e81889 - altair processJustificationAndFinalization 28.838 us/op 19.988 us/op 1.44
mainnet_e81889 - altair processInactivityUpdates 8.7916 ms/op 5.0530 ms/op 1.74
mainnet_e81889 - altair processRewardsAndPenalties 61.804 ms/op 64.222 ms/op 0.96
mainnet_e81889 - altair processRegistryUpdates 4.6530 us/op 2.9400 us/op 1.58
mainnet_e81889 - altair processSlashings 1.0280 us/op 659.00 ns/op 1.56
mainnet_e81889 - altair processEth1DataReset 818.00 ns/op 513.00 ns/op 1.59
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.8812 ms/op 1.9235 ms/op 0.98
mainnet_e81889 - altair processSlashingsReset 5.1430 us/op 6.8690 us/op 0.75
mainnet_e81889 - altair processRandaoMixesReset 7.6840 us/op 7.4850 us/op 1.03
mainnet_e81889 - altair processHistoricalRootsUpdate 687.00 ns/op 911.00 ns/op 0.75
mainnet_e81889 - altair processParticipationFlagUpdates 3.9820 us/op 3.7520 us/op 1.06
mainnet_e81889 - altair processSyncCommitteeUpdates 882.00 ns/op 722.00 ns/op 1.22
mainnet_e81889 - altair afterProcessEpoch 55.596 ms/op 50.620 ms/op 1.10
capella processEpoch - mainnet_e217614 1.1437 s/op 1.1344 s/op 1.01
mainnet_e217614 - capella beforeProcessEpoch 70.024 ms/op 61.019 ms/op 1.15
mainnet_e217614 - capella processJustificationAndFinalization 20.606 us/op 22.511 us/op 0.92
mainnet_e217614 - capella processInactivityUpdates 19.251 ms/op 15.967 ms/op 1.21
mainnet_e217614 - capella processRewardsAndPenalties 224.25 ms/op 270.00 ms/op 0.83
mainnet_e217614 - capella processRegistryUpdates 17.248 us/op 19.918 us/op 0.87
mainnet_e217614 - capella processSlashings 499.00 ns/op 732.00 ns/op 0.68
mainnet_e217614 - capella processEth1DataReset 1.3400 us/op 611.00 ns/op 2.19
mainnet_e217614 - capella processEffectiveBalanceUpdates 16.705 ms/op 5.6653 ms/op 2.95
mainnet_e217614 - capella processSlashingsReset 5.6340 us/op 4.5450 us/op 1.24
mainnet_e217614 - capella processRandaoMixesReset 6.2510 us/op 6.6060 us/op 0.95
mainnet_e217614 - capella processHistoricalRootsUpdate 709.00 ns/op 850.00 ns/op 0.83
mainnet_e217614 - capella processParticipationFlagUpdates 2.3630 us/op 2.9460 us/op 0.80
mainnet_e217614 - capella afterProcessEpoch 130.65 ms/op 120.15 ms/op 1.09
phase0 processEpoch - mainnet_e58758 376.36 ms/op 363.92 ms/op 1.03
mainnet_e58758 - phase0 beforeProcessEpoch 79.980 ms/op 83.096 ms/op 0.96
mainnet_e58758 - phase0 processJustificationAndFinalization 14.883 us/op 23.684 us/op 0.63
mainnet_e58758 - phase0 processRewardsAndPenalties 38.079 ms/op 47.389 ms/op 0.80
mainnet_e58758 - phase0 processRegistryUpdates 8.7490 us/op 12.281 us/op 0.71
mainnet_e58758 - phase0 processSlashings 341.00 ns/op 676.00 ns/op 0.50
mainnet_e58758 - phase0 processEth1DataReset 356.00 ns/op 527.00 ns/op 0.68
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.3216 ms/op 2.0810 ms/op 0.64
mainnet_e58758 - phase0 processSlashingsReset 4.2630 us/op 5.1410 us/op 0.83
mainnet_e58758 - phase0 processRandaoMixesReset 3.9820 us/op 6.3750 us/op 0.62
mainnet_e58758 - phase0 processHistoricalRootsUpdate 396.00 ns/op 531.00 ns/op 0.75
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.7040 us/op 4.6800 us/op 0.79
mainnet_e58758 - phase0 afterProcessEpoch 45.509 ms/op 42.539 ms/op 1.07
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.9270 ms/op 3.3776 ms/op 0.57
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 4.0864 ms/op 2.3472 ms/op 1.74
altair processInactivityUpdates - 250000 normalcase 19.644 ms/op 23.162 ms/op 0.85
altair processInactivityUpdates - 250000 worstcase 18.633 ms/op 24.159 ms/op 0.77
phase0 processRegistryUpdates - 250000 normalcase 7.5860 us/op 10.383 us/op 0.73
phase0 processRegistryUpdates - 250000 badcase_full_deposits 291.30 us/op 460.18 us/op 0.63
phase0 processRegistryUpdates - 250000 worstcase 0.5 118.08 ms/op 139.75 ms/op 0.84
altair processRewardsAndPenalties - 250000 normalcase 38.300 ms/op 51.788 ms/op 0.74
altair processRewardsAndPenalties - 250000 worstcase 45.409 ms/op 48.848 ms/op 0.93
phase0 getAttestationDeltas - 250000 normalcase 9.6614 ms/op 7.7934 ms/op 1.24
phase0 getAttestationDeltas - 250000 worstcase 8.3246 ms/op 7.2403 ms/op 1.15
phase0 processSlashings - 250000 worstcase 113.77 us/op 126.00 us/op 0.90
altair processSyncCommitteeUpdates - 250000 146.32 ms/op 115.66 ms/op 1.27
BeaconState.hashTreeRoot - No change 323.00 ns/op 251.00 ns/op 1.29
BeaconState.hashTreeRoot - 1 full validator 158.86 us/op 146.89 us/op 1.08
BeaconState.hashTreeRoot - 32 full validator 1.4785 ms/op 1.5020 ms/op 0.98
BeaconState.hashTreeRoot - 512 full validator 11.655 ms/op 13.068 ms/op 0.89
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 151.78 us/op 187.56 us/op 0.81
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.0059 ms/op 1.6186 ms/op 1.24
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 20.883 ms/op 23.598 ms/op 0.88
BeaconState.hashTreeRoot - 1 balances 102.47 us/op 116.84 us/op 0.88
BeaconState.hashTreeRoot - 32 balances 935.71 us/op 1.1942 ms/op 0.78
BeaconState.hashTreeRoot - 512 balances 9.5112 ms/op 9.2271 ms/op 1.03
BeaconState.hashTreeRoot - 250000 balances 153.33 ms/op 202.80 ms/op 0.76
aggregationBits - 2048 els - zipIndexesInBitList 24.276 us/op 23.327 us/op 1.04
byteArrayEquals 32 55.511 ns/op 53.052 ns/op 1.05
Buffer.compare 32 18.098 ns/op 17.554 ns/op 1.03
byteArrayEquals 1024 1.6422 us/op 1.5679 us/op 1.05
Buffer.compare 1024 27.760 ns/op 26.176 ns/op 1.06
byteArrayEquals 16384 26.152 us/op 24.974 us/op 1.05
Buffer.compare 16384 219.53 ns/op 199.88 ns/op 1.10
byteArrayEquals 123687377 188.62 ms/op 187.99 ms/op 1.00
Buffer.compare 123687377 6.0996 ms/op 6.1809 ms/op 0.99
byteArrayEquals 32 - diff last byte 51.704 ns/op 51.299 ns/op 1.01
Buffer.compare 32 - diff last byte 16.937 ns/op 17.332 ns/op 0.98
byteArrayEquals 1024 - diff last byte 1.5573 us/op 1.5502 us/op 1.00
Buffer.compare 1024 - diff last byte 25.481 ns/op 26.672 ns/op 0.96
byteArrayEquals 16384 - diff last byte 24.818 us/op 24.672 us/op 1.01
Buffer.compare 16384 - diff last byte 204.24 ns/op 199.16 ns/op 1.03
byteArrayEquals 123687377 - diff last byte 194.55 ms/op 187.82 ms/op 1.04
Buffer.compare 123687377 - diff last byte 7.9516 ms/op 6.7051 ms/op 1.19
byteArrayEquals 32 - random bytes 5.3420 ns/op 5.1590 ns/op 1.04
Buffer.compare 32 - random bytes 17.960 ns/op 18.071 ns/op 0.99
byteArrayEquals 1024 - random bytes 5.2420 ns/op 5.1550 ns/op 1.02
Buffer.compare 1024 - random bytes 17.644 ns/op 17.869 ns/op 0.99
byteArrayEquals 16384 - random bytes 5.2360 ns/op 5.0950 ns/op 1.03
Buffer.compare 16384 - random bytes 17.447 ns/op 18.745 ns/op 0.93
byteArrayEquals 123687377 - random bytes 6.5200 ns/op 6.4100 ns/op 1.02
Buffer.compare 123687377 - random bytes 18.910 ns/op 18.860 ns/op 1.00
regular array get 100000 times 39.510 us/op 32.559 us/op 1.21
wrappedArray get 100000 times 34.099 us/op 32.445 us/op 1.05
arrayWithProxy get 100000 times 13.524 ms/op 14.220 ms/op 0.95
ssz.Root.equals 46.871 ns/op 45.424 ns/op 1.03
byteArrayEquals 46.574 ns/op 44.491 ns/op 1.05
Buffer.compare 10.757 ns/op 10.171 ns/op 1.06
processSlot - 1 slots 18.895 us/op 11.831 us/op 1.60
processSlot - 32 slots 2.8856 ms/op 2.7696 ms/op 1.04
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 36.263 ms/op 39.277 ms/op 0.92
getCommitteeAssignments - req 1 vs - 250000 vc 2.1463 ms/op 2.1123 ms/op 1.02
getCommitteeAssignments - req 100 vs - 250000 vc 4.2123 ms/op 4.1146 ms/op 1.02
getCommitteeAssignments - req 1000 vs - 250000 vc 4.5158 ms/op 4.4277 ms/op 1.02
findModifiedValidators - 10000 modified validators 266.94 ms/op 261.94 ms/op 1.02
findModifiedValidators - 1000 modified validators 190.82 ms/op 159.60 ms/op 1.20
findModifiedValidators - 100 modified validators 170.50 ms/op 152.11 ms/op 1.12
findModifiedValidators - 10 modified validators 187.77 ms/op 156.31 ms/op 1.20
findModifiedValidators - 1 modified validators 148.89 ms/op 143.64 ms/op 1.04
findModifiedValidators - no difference 152.13 ms/op 150.84 ms/op 1.01
compare ViewDUs 3.1983 s/op 3.1957 s/op 1.00
compare each validator Uint8Array 1.7447 s/op 928.71 ms/op 1.88
compare ViewDU to Uint8Array 1.2465 s/op 1.0545 s/op 1.18
migrate state 1000000 validators, 24 modified, 0 new 729.49 ms/op 655.26 ms/op 1.11
migrate state 1000000 validators, 1700 modified, 1000 new 1.1160 s/op 982.23 ms/op 1.14
migrate state 1000000 validators, 3400 modified, 2000 new 1.3989 s/op 1.1929 s/op 1.17
migrate state 1500000 validators, 24 modified, 0 new 884.01 ms/op 773.48 ms/op 1.14
migrate state 1500000 validators, 1700 modified, 1000 new 1.0908 s/op 996.45 ms/op 1.09
migrate state 1500000 validators, 3400 modified, 2000 new 1.3402 s/op 1.2524 s/op 1.07
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.9500 ns/op 4.0300 ns/op 1.23
state getBlockRootAtSlot - 250000 vs - 7PWei 685.43 ns/op 816.48 ns/op 0.84
computeProposers - vc 250000 8.3213 ms/op 6.3398 ms/op 1.31
computeEpochShuffling - vc 250000 44.413 ms/op 39.817 ms/op 1.12
getNextSyncCommittee - vc 250000 144.78 ms/op 123.20 ms/op 1.18
computeSigningRoot for AttestationData 23.127 us/op 27.111 us/op 0.85
hash AttestationData serialized data then Buffer.toString(base64) 1.6970 us/op 1.5294 us/op 1.11
toHexString serialized data 1.1035 us/op 862.93 ns/op 1.28
Buffer.toString(base64) 219.44 ns/op 183.56 ns/op 1.20
nodejs block root to RootHex using toHex 176.16 ns/op 158.96 ns/op 1.11
nodejs block root to RootHex using toRootHex 117.05 ns/op 95.524 ns/op 1.23
browser block root to RootHex using the deprecated toHexString 294.57 ns/op 233.49 ns/op 1.26
browser block root to RootHex using toHex 234.91 ns/op 177.86 ns/op 1.32
browser block root to RootHex using toRootHex 180.32 ns/op 158.27 ns/op 1.14

by benchmarkbot/action

@nazarhussain
Copy link
Contributor Author

The right solution to this problem is already in discussion microsoft/vscode#40233

@nazarhussain
Copy link
Contributor Author

@nflaig @matthewkeil I used an extension called Tabaqa, which have it's own file tabaqa.json, on starting the VSCode, it copies over the settings from that file to the settings.json file, while preserving the existing content of settings.json file.

This way we can have team specific settings in the tabaqa.json and each team member can also have it's own configurations in settings.json file.

@nflaig
Copy link
Member

nflaig commented Oct 18, 2024

on starting the VSCode, it copies over the settings from that file to the settings.json file

but doesn't this create a local diff if we track settings.json file? I don't see much of a downside putting a few extra settings in there that may be unused if you don't install the extension for it

@nazarhussain
Copy link
Contributor Author

We are not tracking settings.json file, so anyone can use it on their likeness. We just keep tabaqa.json in VCS.

This way you don't need to remember if you have local changes in settings.json you should not commit.

@nflaig
Copy link
Member

nflaig commented Oct 18, 2024

We just keep tabaqa.json in VCS

Ah got it, it's the other way around, not opposed to it other than we should consider if it's worth the extra extension

@nazarhussain
Copy link
Contributor Author

We just keep tabaqa.json in VCS

Ah got it, it's the other way around, not opposed to it other than we should consider if it's worth the extra extension

We can and should use that extra extension until VSCode had this feature microsoft/vscode#40233

@@ -1,6 +1,7 @@
{
"recommendations": [
"biomejs.biome",
"esbenp.prettier-vscode"
"esbenp.prettier-vscode",
"KalimahApps.tabaqa"
Copy link
Member

Choose a reason for hiding this comment

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

this does not really seem to be used, we should really be careful installing extensions like this

image

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes that's a pretty new extension, out of necessity. I checked it's code before using it.

Copy link
Member

@matthewkeil matthewkeil Oct 18, 2024

Choose a reason for hiding this comment

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

Im not a fan of this extension approach... Everyone will need to have that and similar to what nico mentioned they have the same access as vscode which on my machine is a lot.

I think we should default to a few basic setting.json fields that are necessary.

I honestly even prefer that we do not commit a settings.json at all and instead commit recommended.settings.json and recommended.extensions.json. Anyone that has repo issues and knows what they are doing will go into that folder and see them and will know what to do with them.

And that way we can all keep our own settings.json files intact and so can other users

Copy link
Member

Choose a reason for hiding this comment

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

I agree with the first part of what @matthewkeil mentioned but I don't like the recommended. files, having essential extensions noted + popup seems fine if we keep it to only mandatory extensions.

As per microsoft/vscode#40233, it seems like settings.json even if the feature is implemented should be tracked via git. We can adopt that approach already and if we don't want any extra stuff in there I can find a way to gitignore my local changes to it, although imo it does not hurt to have 1-2 settingsi n there which would require an extension, those are ignored anyways if you don't have the extension, there is no harm.

Copy link
Member

@matthewkeil matthewkeil Oct 21, 2024

Choose a reason for hiding this comment

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

I suppose I can live with that if its only biome and prettier. Tabaqa and the settings file should not be included in this PR

@matthewkeil
Copy link
Member

We can and should use that extra extension until VSCode had this feature microsoft/vscode#40233

This is the best solution... we should just wait till its part of vscode and only suggest what should be used but not commit/enforce it or extensions that are unwanted

.vscode/settings.json Outdated Show resolved Hide resolved
.vscode/settings.json Outdated Show resolved Hide resolved
"window.title": "${activeEditorShort}${separator}${rootName}${separator}${profileName}${separator}[${activeRepositoryBranchName}]",
"editor.defaultFormatter": "esbenp.prettier-vscode",
// For `sysoev.vscode-open-in-github` extension
"openInGitHub.defaultBranch": "unstable",
Copy link
Member

Choose a reason for hiding this comment

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

As noted in previous comment, not a fan of putting this in the middle of editor. settings but I guess it's fine

Copy link
Member

Choose a reason for hiding this comment

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

LOL... its funny that this PR had more discussion than a lot

Copy link
Member

@matthewkeil matthewkeil left a comment

Choose a reason for hiding this comment

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

Thanks for the thoughtful consideration during the PR review. Much appreciated. LGTM 🎸

"window.title": "${activeEditorShort}${separator}${rootName}${separator}${profileName}${separator}[${activeRepositoryBranchName}]",
"editor.defaultFormatter": "esbenp.prettier-vscode",
// For `sysoev.vscode-open-in-github` extension
"openInGitHub.defaultBranch": "unstable",
Copy link
Member

Choose a reason for hiding this comment

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

LOL... its funny that this PR had more discussion than a lot

@matthewkeil matthewkeil merged commit e770ebe into unstable Oct 22, 2024
20 checks passed
@matthewkeil matthewkeil deleted the nh/vscode-settings branch October 22, 2024 13:49
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.23.0 🎉

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

Successfully merging this pull request may close these issues.

4 participants