-
-
Notifications
You must be signed in to change notification settings - Fork 287
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
base: unstable
Are you sure you want to change the base?
Conversation
There was a problem hiding this 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.
Opened PR, to engage others in this discussion to get their opinion. |
@@ -1,6 +1,7 @@ | |||
{ | |||
"recommendations": [ | |||
"biomejs.biome", | |||
"esbenp.prettier-vscode" | |||
"esbenp.prettier-vscode", | |||
"sysoev.vscode-open-in-github" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not sure if should go as far and add this here, might be better to only list essential extensions here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Without adding that extension, it's settings openInGitHub.defaultBranch
will not be available. Also it's a recommended list, not compulsory for everyone.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not sure either. there are a few that are super helpful like "npm intellisense" and "path intellisense" but its opening a can of worms...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@matthewkeil If you think any extension is useful for other team members and community who is contributing to this project, please share.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
honestly i hate when repos bring up warning when i dont have an extension installed. its really annoying...i think only ones that are ABSOLUTELY necessary, like for the lint command, that should be included
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@matthewkeil @nflaig So should I keep this plugin and related settings? or remove it from this PR?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
repos bring up warning when i dont have an extension installed.
that's my concern as well, not sure how often vs code will show the popup but better to keep this list to essential extensions
So should I keep this plugin and related settings?
Keep the setting, remove the recommendation. Could add a comment in the setting file for which extension it is, people can manually install it if they want to
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@nflaig Can't use comments for the .json
files, and as per my knowledge VSCode not yet supporting .jsonc
format.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good. For opening in github and creating links to code i use gitlens as an example... i do not want to have to install that one
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can't use comments for the .json files,
while the files are json and shouldn't allow for comments, you can still do it and vscode won't complain, it also does not show an error in the file itself but would do so for any other json file
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## unstable #7173 +/- ##
============================================
- Coverage 49.21% 49.20% -0.01%
============================================
Files 598 598
Lines 39726 39726
Branches 2092 2086 -6
============================================
- Hits 19550 19549 -1
- Misses 20136 20137 +1
Partials 40 40 |
|
Benchmark suite | Current: a0c76dc | Previous: de0d6ab | Ratio |
---|---|---|---|
altair processEth1Data - 250000 vs - 7PWei normalcase | 984.97 us/op | 235.92 us/op | 4.17 |
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 | 16.121 us/op | 3.5870 us/op | 4.49 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 | 63.141 us/op | 17.366 us/op | 3.64 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 | 15.448 us/op | 5.0780 us/op | 3.04 |
Full benchmark results
Benchmark suite | Current: a0c76dc | Previous: de0d6ab | Ratio |
---|---|---|---|
getPubkeys - index2pubkey - req 1000 vs - 250000 vc | 2.0197 ms/op | 1.7183 ms/op | 1.18 |
getPubkeys - validatorsArr - req 1000 vs - 250000 vc | 46.218 us/op | 37.146 us/op | 1.24 |
BLS verify - blst | 755.22 us/op | 905.57 us/op | 0.83 |
BLS verifyMultipleSignatures 3 - blst | 1.2732 ms/op | 1.3407 ms/op | 0.95 |
BLS verifyMultipleSignatures 8 - blst | 1.7099 ms/op | 2.5955 ms/op | 0.66 |
BLS verifyMultipleSignatures 32 - blst | 4.9397 ms/op | 4.5610 ms/op | 1.08 |
BLS verifyMultipleSignatures 64 - blst | 9.2580 ms/op | 8.4932 ms/op | 1.09 |
BLS verifyMultipleSignatures 128 - blst | 16.952 ms/op | 16.014 ms/op | 1.06 |
BLS deserializing 10000 signatures | 676.96 ms/op | 626.15 ms/op | 1.08 |
BLS deserializing 100000 signatures | 6.5983 s/op | 6.3426 s/op | 1.04 |
BLS verifyMultipleSignatures - same message - 3 - blst | 850.33 us/op | 947.47 us/op | 0.90 |
BLS verifyMultipleSignatures - same message - 8 - blst | 991.58 us/op | 1.0534 ms/op | 0.94 |
BLS verifyMultipleSignatures - same message - 32 - blst | 1.6490 ms/op | 1.6538 ms/op | 1.00 |
BLS verifyMultipleSignatures - same message - 64 - blst | 2.5024 ms/op | 2.4378 ms/op | 1.03 |
BLS verifyMultipleSignatures - same message - 128 - blst | 4.1715 ms/op | 4.2739 ms/op | 0.98 |
BLS aggregatePubkeys 32 - blst | 19.058 us/op | 17.835 us/op | 1.07 |
BLS aggregatePubkeys 128 - blst | 68.160 us/op | 63.594 us/op | 1.07 |
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 | 68.149 ms/op | 70.717 ms/op | 0.96 |
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 | 67.244 ms/op | 41.418 ms/op | 1.62 |
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 | 38.431 ms/op | 41.765 ms/op | 0.92 |
getSlashingsAndExits - default max | 86.485 us/op | 63.632 us/op | 1.36 |
getSlashingsAndExits - 2k | 241.13 us/op | 247.29 us/op | 0.98 |
proposeBlockBody type=full, size=empty | 5.7655 ms/op | 4.9248 ms/op | 1.17 |
isKnown best case - 1 super set check | 279.00 ns/op | 465.00 ns/op | 0.60 |
isKnown normal case - 2 super set checks | 286.00 ns/op | 457.00 ns/op | 0.63 |
isKnown worse case - 16 super set checks | 276.00 ns/op | 461.00 ns/op | 0.60 |
InMemoryCheckpointStateCache - add get delete | 2.5940 us/op | 2.8650 us/op | 0.91 |
updateUnfinalizedPubkeys - updating 10 pubkeys | 751.25 us/op | 804.08 us/op | 0.93 |
updateUnfinalizedPubkeys - updating 100 pubkeys | 3.4752 ms/op | 3.1182 ms/op | 1.11 |
updateUnfinalizedPubkeys - updating 1000 pubkeys | 48.290 ms/op | 41.093 ms/op | 1.18 |
validate api signedAggregateAndProof - struct | 1.3324 ms/op | 1.4519 ms/op | 0.92 |
validate gossip signedAggregateAndProof - struct | 1.3175 ms/op | 2.0245 ms/op | 0.65 |
batch validate gossip attestation - vc 640000 - chunk 32 | 127.11 us/op | 126.33 us/op | 1.01 |
batch validate gossip attestation - vc 640000 - chunk 64 | 117.71 us/op | 109.96 us/op | 1.07 |
batch validate gossip attestation - vc 640000 - chunk 128 | 113.71 us/op | 105.89 us/op | 1.07 |
batch validate gossip attestation - vc 640000 - chunk 256 | 112.44 us/op | 99.791 us/op | 1.13 |
pickEth1Vote - no votes | 1.1129 ms/op | 840.40 us/op | 1.32 |
pickEth1Vote - max votes | 5.4810 ms/op | 8.3039 ms/op | 0.66 |
pickEth1Vote - Eth1Data hashTreeRoot value x2048 | 20.344 ms/op | 20.749 ms/op | 0.98 |
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 | 18.258 ms/op | 31.035 ms/op | 0.59 |
pickEth1Vote - Eth1Data fastSerialize value x2048 | 488.46 us/op | 390.97 us/op | 1.25 |
pickEth1Vote - Eth1Data fastSerialize tree x2048 | 2.4659 ms/op | 5.2330 ms/op | 0.47 |
bytes32 toHexString | 459.00 ns/op | 807.00 ns/op | 0.57 |
bytes32 Buffer.toString(hex) | 268.00 ns/op | 489.00 ns/op | 0.55 |
bytes32 Buffer.toString(hex) from Uint8Array | 452.00 ns/op | 595.00 ns/op | 0.76 |
bytes32 Buffer.toString(hex) + 0x | 261.00 ns/op | 488.00 ns/op | 0.53 |
Object access 1 prop | 0.17800 ns/op | 0.34000 ns/op | 0.52 |
Map access 1 prop | 0.14400 ns/op | 0.32400 ns/op | 0.44 |
Object get x1000 | 6.1580 ns/op | 5.0250 ns/op | 1.23 |
Map get x1000 | 6.3500 ns/op | 5.7550 ns/op | 1.10 |
Object set x1000 | 39.713 ns/op | 27.231 ns/op | 1.46 |
Map set x1000 | 27.605 ns/op | 19.840 ns/op | 1.39 |
Return object 10000 times | 0.30090 ns/op | 0.29480 ns/op | 1.02 |
Throw Error 10000 times | 3.3750 us/op | 2.6575 us/op | 1.27 |
toHex | 166.93 ns/op | 119.78 ns/op | 1.39 |
Buffer.from | 151.40 ns/op | 98.237 ns/op | 1.54 |
shared Buffer | 103.04 ns/op | 66.791 ns/op | 1.54 |
fastMsgIdFn sha256 / 200 bytes | 2.3320 us/op | 2.0190 us/op | 1.16 |
fastMsgIdFn h32 xxhash / 200 bytes | 250.00 ns/op | 426.00 ns/op | 0.59 |
fastMsgIdFn h64 xxhash / 200 bytes | 300.00 ns/op | 454.00 ns/op | 0.66 |
fastMsgIdFn sha256 / 1000 bytes | 7.7620 us/op | 5.8230 us/op | 1.33 |
fastMsgIdFn h32 xxhash / 1000 bytes | 405.00 ns/op | 553.00 ns/op | 0.73 |
fastMsgIdFn h64 xxhash / 1000 bytes | 357.00 ns/op | 507.00 ns/op | 0.70 |
fastMsgIdFn sha256 / 10000 bytes | 66.261 us/op | 46.684 us/op | 1.42 |
fastMsgIdFn h32 xxhash / 10000 bytes | 1.9880 us/op | 1.9090 us/op | 1.04 |
fastMsgIdFn h64 xxhash / 10000 bytes | 1.2650 us/op | 1.3160 us/op | 0.96 |
send data - 1000 256B messages | 13.054 ms/op | 11.863 ms/op | 1.10 |
send data - 1000 512B messages | 18.474 ms/op | 14.082 ms/op | 1.31 |
send data - 1000 1024B messages | 26.741 ms/op | 21.913 ms/op | 1.22 |
send data - 1000 1200B messages | 19.494 ms/op | 22.746 ms/op | 0.86 |
send data - 1000 2048B messages | 35.598 ms/op | 30.022 ms/op | 1.19 |
send data - 1000 4096B messages | 33.267 ms/op | 27.678 ms/op | 1.20 |
send data - 1000 16384B messages | 88.403 ms/op | 63.945 ms/op | 1.38 |
send data - 1000 65536B messages | 230.66 ms/op | 236.04 ms/op | 0.98 |
enrSubnets - fastDeserialize 64 bits | 1.2180 us/op | 1.0830 us/op | 1.12 |
enrSubnets - ssz BitVector 64 bits | 424.00 ns/op | 519.00 ns/op | 0.82 |
enrSubnets - fastDeserialize 4 bits | 185.00 ns/op | 322.00 ns/op | 0.57 |
enrSubnets - ssz BitVector 4 bits | 435.00 ns/op | 535.00 ns/op | 0.81 |
prioritizePeers score -10:0 att 32-0.1 sync 2-0 | 174.75 us/op | 120.75 us/op | 1.45 |
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 | 173.82 us/op | 141.69 us/op | 1.23 |
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 | 284.60 us/op | 219.78 us/op | 1.29 |
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 | 403.24 us/op | 425.15 us/op | 0.95 |
prioritizePeers score 0:0 att 64-1 sync 4-1 | 684.03 us/op | 527.13 us/op | 1.30 |
array of 16000 items push then shift | 1.6712 us/op | 1.2816 us/op | 1.30 |
LinkedList of 16000 items push then shift | 7.2620 ns/op | 7.4570 ns/op | 0.97 |
array of 16000 items push then pop | 126.63 ns/op | 125.64 ns/op | 1.01 |
LinkedList of 16000 items push then pop | 7.3540 ns/op | 6.2970 ns/op | 1.17 |
array of 24000 items push then shift | 2.4346 us/op | 1.8973 us/op | 1.28 |
LinkedList of 24000 items push then shift | 7.3460 ns/op | 6.9310 ns/op | 1.06 |
array of 24000 items push then pop | 145.03 ns/op | 158.41 ns/op | 0.92 |
LinkedList of 24000 items push then pop | 6.8840 ns/op | 6.2220 ns/op | 1.11 |
intersect bitArray bitLen 8 | 6.7380 ns/op | 5.2700 ns/op | 1.28 |
intersect array and set length 8 | 52.919 ns/op | 40.509 ns/op | 1.31 |
intersect bitArray bitLen 128 | 31.783 ns/op | 26.214 ns/op | 1.21 |
intersect array and set length 128 | 990.58 ns/op | 647.64 ns/op | 1.53 |
bitArray.getTrueBitIndexes() bitLen 128 | 2.3640 us/op | 2.2460 us/op | 1.05 |
bitArray.getTrueBitIndexes() bitLen 248 | 4.5100 us/op | 3.4510 us/op | 1.31 |
bitArray.getTrueBitIndexes() bitLen 512 | 9.2380 us/op | 8.6390 us/op | 1.07 |
Buffer.concat 32 items | 1.1070 us/op | 1.0860 us/op | 1.02 |
Uint8Array.set 32 items | 1.7720 us/op | 1.7170 us/op | 1.03 |
Buffer.copy | 2.2130 us/op | 1.7040 us/op | 1.30 |
Uint8Array.set - with subarray | 2.9980 us/op | 2.1400 us/op | 1.40 |
Uint8Array.set - without subarray | 1.5180 us/op | 1.4640 us/op | 1.04 |
getUint32 - dataview | 315.00 ns/op | 406.00 ns/op | 0.78 |
getUint32 - manual | 254.00 ns/op | 343.00 ns/op | 0.74 |
Set add up to 64 items then delete first | 2.6294 us/op | 1.7844 us/op | 1.47 |
OrderedSet add up to 64 items then delete first | 4.2361 us/op | 2.7672 us/op | 1.53 |
Set add up to 64 items then delete last | 3.2613 us/op | 2.0333 us/op | 1.60 |
OrderedSet add up to 64 items then delete last | 5.5178 us/op | 3.0735 us/op | 1.80 |
Set add up to 64 items then delete middle | 3.5335 us/op | 2.0367 us/op | 1.73 |
OrderedSet add up to 64 items then delete middle | 6.8201 us/op | 4.5966 us/op | 1.48 |
Set add up to 128 items then delete first | 6.4577 us/op | 4.0016 us/op | 1.61 |
OrderedSet add up to 128 items then delete first | 9.4322 us/op | 6.3192 us/op | 1.49 |
Set add up to 128 items then delete last | 5.5357 us/op | 3.8364 us/op | 1.44 |
OrderedSet add up to 128 items then delete last | 7.9733 us/op | 5.8751 us/op | 1.36 |
Set add up to 128 items then delete middle | 5.2965 us/op | 3.8081 us/op | 1.39 |
OrderedSet add up to 128 items then delete middle | 16.418 us/op | 11.979 us/op | 1.37 |
Set add up to 256 items then delete first | 13.297 us/op | 7.8387 us/op | 1.70 |
OrderedSet add up to 256 items then delete first | 17.813 us/op | 12.585 us/op | 1.42 |
Set add up to 256 items then delete last | 11.893 us/op | 7.5312 us/op | 1.58 |
OrderedSet add up to 256 items then delete last | 18.246 us/op | 11.797 us/op | 1.55 |
Set add up to 256 items then delete middle | 10.399 us/op | 7.4386 us/op | 1.40 |
OrderedSet add up to 256 items then delete middle | 47.128 us/op | 35.240 us/op | 1.34 |
transfer serialized Status (84 B) | 1.4440 us/op | 1.4970 us/op | 0.96 |
copy serialized Status (84 B) | 1.2180 us/op | 1.3040 us/op | 0.93 |
transfer serialized SignedVoluntaryExit (112 B) | 1.4720 us/op | 1.7480 us/op | 0.84 |
copy serialized SignedVoluntaryExit (112 B) | 1.3060 us/op | 1.4170 us/op | 0.92 |
transfer serialized ProposerSlashing (416 B) | 1.6460 us/op | 2.0370 us/op | 0.81 |
copy serialized ProposerSlashing (416 B) | 1.6880 us/op | 2.0880 us/op | 0.81 |
transfer serialized Attestation (485 B) | 1.9900 us/op | 2.1500 us/op | 0.93 |
copy serialized Attestation (485 B) | 2.2290 us/op | 2.1380 us/op | 1.04 |
transfer serialized AttesterSlashing (33232 B) | 2.4300 us/op | 2.7250 us/op | 0.89 |
copy serialized AttesterSlashing (33232 B) | 7.0100 us/op | 6.0530 us/op | 1.16 |
transfer serialized Small SignedBeaconBlock (128000 B) | 2.7770 us/op | 3.9780 us/op | 0.70 |
copy serialized Small SignedBeaconBlock (128000 B) | 17.532 us/op | 16.287 us/op | 1.08 |
transfer serialized Avg SignedBeaconBlock (200000 B) | 3.3060 us/op | 3.9630 us/op | 0.83 |
copy serialized Avg SignedBeaconBlock (200000 B) | 32.329 us/op | 23.972 us/op | 1.35 |
transfer serialized BlobsSidecar (524380 B) | 4.0930 us/op | 3.3600 us/op | 1.22 |
copy serialized BlobsSidecar (524380 B) | 85.000 us/op | 113.65 us/op | 0.75 |
transfer serialized Big SignedBeaconBlock (1000000 B) | 3.3160 us/op | 2.9700 us/op | 1.12 |
copy serialized Big SignedBeaconBlock (1000000 B) | 436.83 us/op | 188.02 us/op | 2.32 |
pass gossip attestations to forkchoice per slot | 2.8902 ms/op | 2.5462 ms/op | 1.14 |
forkChoice updateHead vc 100000 bc 64 eq 0 | 475.48 us/op | 366.17 us/op | 1.30 |
forkChoice updateHead vc 600000 bc 64 eq 0 | 3.2846 ms/op | 2.7097 ms/op | 1.21 |
forkChoice updateHead vc 1000000 bc 64 eq 0 | 4.9427 ms/op | 3.6948 ms/op | 1.34 |
forkChoice updateHead vc 600000 bc 320 eq 0 | 2.8643 ms/op | 2.1906 ms/op | 1.31 |
forkChoice updateHead vc 600000 bc 1200 eq 0 | 2.8929 ms/op | 2.2462 ms/op | 1.29 |
forkChoice updateHead vc 600000 bc 7200 eq 0 | 3.9521 ms/op | 3.1150 ms/op | 1.27 |
forkChoice updateHead vc 600000 bc 64 eq 1000 | 10.881 ms/op | 9.5812 ms/op | 1.14 |
forkChoice updateHead vc 600000 bc 64 eq 10000 | 10.623 ms/op | 9.5213 ms/op | 1.12 |
forkChoice updateHead vc 600000 bc 64 eq 300000 | 14.154 ms/op | 11.784 ms/op | 1.20 |
computeDeltas 500000 validators 300 proto nodes | 4.2634 ms/op | 3.2398 ms/op | 1.32 |
computeDeltas 500000 validators 1200 proto nodes | 4.3109 ms/op | 3.2681 ms/op | 1.32 |
computeDeltas 500000 validators 7200 proto nodes | 4.4534 ms/op | 3.2607 ms/op | 1.37 |
computeDeltas 750000 validators 300 proto nodes | 6.3405 ms/op | 4.8665 ms/op | 1.30 |
computeDeltas 750000 validators 1200 proto nodes | 6.8273 ms/op | 4.8411 ms/op | 1.41 |
computeDeltas 750000 validators 7200 proto nodes | 7.2957 ms/op | 4.7775 ms/op | 1.53 |
computeDeltas 1400000 validators 300 proto nodes | 13.380 ms/op | 8.8315 ms/op | 1.52 |
computeDeltas 1400000 validators 1200 proto nodes | 14.151 ms/op | 9.1316 ms/op | 1.55 |
computeDeltas 1400000 validators 7200 proto nodes | 14.414 ms/op | 8.7758 ms/op | 1.64 |
computeDeltas 2100000 validators 300 proto nodes | 21.199 ms/op | 13.563 ms/op | 1.56 |
computeDeltas 2100000 validators 1200 proto nodes | 24.142 ms/op | 13.531 ms/op | 1.78 |
computeDeltas 2100000 validators 7200 proto nodes | 19.146 ms/op | 13.478 ms/op | 1.42 |
altair processAttestation - 250000 vs - 7PWei normalcase | 2.4687 ms/op | 1.3997 ms/op | 1.76 |
altair processAttestation - 250000 vs - 7PWei worstcase | 3.6266 ms/op | 2.1942 ms/op | 1.65 |
altair processAttestation - setStatus - 1/6 committees join | 108.27 us/op | 66.958 us/op | 1.62 |
altair processAttestation - setStatus - 1/3 committees join | 215.47 us/op | 141.72 us/op | 1.52 |
altair processAttestation - setStatus - 1/2 committees join | 291.99 us/op | 194.96 us/op | 1.50 |
altair processAttestation - setStatus - 2/3 committees join | 341.32 us/op | 252.07 us/op | 1.35 |
altair processAttestation - setStatus - 4/5 committees join | 529.37 us/op | 383.85 us/op | 1.38 |
altair processAttestation - setStatus - 100% committees join | 655.48 us/op | 460.59 us/op | 1.42 |
altair processBlock - 250000 vs - 7PWei normalcase | 9.6818 ms/op | 5.4814 ms/op | 1.77 |
altair processBlock - 250000 vs - 7PWei normalcase hashState | 33.448 ms/op | 23.561 ms/op | 1.42 |
altair processBlock - 250000 vs - 7PWei worstcase | 45.788 ms/op | 38.362 ms/op | 1.19 |
altair processBlock - 250000 vs - 7PWei worstcase hashState | 85.472 ms/op | 85.734 ms/op | 1.00 |
phase0 processBlock - 250000 vs - 7PWei normalcase | 4.9262 ms/op | 2.0426 ms/op | 2.41 |
phase0 processBlock - 250000 vs - 7PWei worstcase | 37.718 ms/op | 21.687 ms/op | 1.74 |
altair processEth1Data - 250000 vs - 7PWei normalcase | 984.97 us/op | 235.92 us/op | 4.17 |
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 | 16.121 us/op | 3.5870 us/op | 4.49 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 | 63.141 us/op | 17.366 us/op | 3.64 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 | 22.131 us/op | 10.844 us/op | 2.04 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 | 15.448 us/op | 5.0780 us/op | 3.04 |
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 | 233.96 us/op | 118.75 us/op | 1.97 |
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 | 1.7712 ms/op | 1.3286 ms/op | 1.33 |
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 | 1.8141 ms/op | 1.2265 ms/op | 1.48 |
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 | 2.2402 ms/op | 1.0515 ms/op | 2.13 |
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 | 6.2727 ms/op | 2.9483 ms/op | 2.13 |
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 | 1.9474 ms/op | 1.2049 ms/op | 1.62 |
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 | 5.2739 ms/op | 2.7890 ms/op | 1.89 |
Tree 40 250000 create | 520.47 ms/op | 179.09 ms/op | 2.91 |
Tree 40 250000 get(125000) | 172.19 ns/op | 101.75 ns/op | 1.69 |
Tree 40 250000 set(125000) | 1.7190 us/op | 517.05 ns/op | 3.32 |
Tree 40 250000 toArray() | 28.530 ms/op | 12.218 ms/op | 2.34 |
Tree 40 250000 iterate all - toArray() + loop | 29.117 ms/op | 12.347 ms/op | 2.36 |
Tree 40 250000 iterate all - get(i) | 76.054 ms/op | 39.782 ms/op | 1.91 |
Array 250000 create | 5.8250 ms/op | 2.4037 ms/op | 2.42 |
Array 250000 clone - spread | 3.5619 ms/op | 1.3163 ms/op | 2.71 |
Array 250000 get(125000) | 0.49600 ns/op | 0.56300 ns/op | 0.88 |
Array 250000 set(125000) | 0.51500 ns/op | 0.56400 ns/op | 0.91 |
Array 250000 iterate all - loop | 122.43 us/op | 72.363 us/op | 1.69 |
phase0 afterProcessEpoch - 250000 vs - 7PWei | 62.562 ms/op | 39.430 ms/op | 1.59 |
Array.fill - length 1000000 | 7.3796 ms/op | 2.4982 ms/op | 2.95 |
Array push - length 1000000 | 37.563 ms/op | 14.061 ms/op | 2.67 |
Array.get | 0.38089 ns/op | 0.25331 ns/op | 1.50 |
Uint8Array.get | 0.49870 ns/op | 0.32592 ns/op | 1.53 |
phase0 beforeProcessEpoch - 250000 vs - 7PWei | 44.842 ms/op | 15.385 ms/op | 2.91 |
altair processEpoch - mainnet_e81889 | 572.24 ms/op | 278.69 ms/op | 2.05 |
mainnet_e81889 - altair beforeProcessEpoch | 51.001 ms/op | 16.290 ms/op | 3.13 |
mainnet_e81889 - altair processJustificationAndFinalization | 32.711 us/op | 10.909 us/op | 3.00 |
mainnet_e81889 - altair processInactivityUpdates | 13.793 ms/op | 4.1307 ms/op | 3.34 |
mainnet_e81889 - altair processRewardsAndPenalties | 80.227 ms/op | 55.977 ms/op | 1.43 |
mainnet_e81889 - altair processRegistryUpdates | 6.9840 us/op | 1.3450 us/op | 5.19 |
mainnet_e81889 - altair processSlashings | 2.0480 us/op | 823.00 ns/op | 2.49 |
mainnet_e81889 - altair processEth1DataReset | 1.3640 us/op | 748.00 ns/op | 1.82 |
mainnet_e81889 - altair processEffectiveBalanceUpdates | 2.5222 ms/op | 1.6386 ms/op | 1.54 |
mainnet_e81889 - altair processSlashingsReset | 8.4630 us/op | 2.1560 us/op | 3.93 |
mainnet_e81889 - altair processRandaoMixesReset | 12.814 us/op | 2.7200 us/op | 4.71 |
mainnet_e81889 - altair processHistoricalRootsUpdate | 1.5880 us/op | 692.00 ns/op | 2.29 |
mainnet_e81889 - altair processParticipationFlagUpdates | 7.6900 us/op | 1.8100 us/op | 4.25 |
mainnet_e81889 - altair processSyncCommitteeUpdates | 1.2270 us/op | 703.00 ns/op | 1.75 |
mainnet_e81889 - altair afterProcessEpoch | 60.929 ms/op | 41.143 ms/op | 1.48 |
capella processEpoch - mainnet_e217614 | 1.8636 s/op | 965.12 ms/op | 1.93 |
mainnet_e217614 - capella beforeProcessEpoch | 126.18 ms/op | 68.213 ms/op | 1.85 |
mainnet_e217614 - capella processJustificationAndFinalization | 31.784 us/op | 11.636 us/op | 2.73 |
mainnet_e217614 - capella processInactivityUpdates | 24.037 ms/op | 12.576 ms/op | 1.91 |
mainnet_e217614 - capella processRewardsAndPenalties | 299.45 ms/op | 220.74 ms/op | 1.36 |
mainnet_e217614 - capella processRegistryUpdates | 23.893 us/op | 13.795 us/op | 1.73 |
mainnet_e217614 - capella processSlashings | 1.0730 us/op | 740.00 ns/op | 1.45 |
mainnet_e217614 - capella processEth1DataReset | 706.00 ns/op | 714.00 ns/op | 0.99 |
mainnet_e217614 - capella processEffectiveBalanceUpdates | 12.428 ms/op | 13.243 ms/op | 0.94 |
mainnet_e217614 - capella processSlashingsReset | 6.1090 us/op | 2.4310 us/op | 2.51 |
mainnet_e217614 - capella processRandaoMixesReset | 10.306 us/op | 10.228 us/op | 1.01 |
mainnet_e217614 - capella processHistoricalRootsUpdate | 849.00 ns/op | 1.0120 us/op | 0.84 |
mainnet_e217614 - capella processParticipationFlagUpdates | 2.1690 us/op | 2.2060 us/op | 0.98 |
mainnet_e217614 - capella afterProcessEpoch | 130.53 ms/op | 106.38 ms/op | 1.23 |
phase0 processEpoch - mainnet_e58758 | 351.44 ms/op | 345.60 ms/op | 1.02 |
mainnet_e58758 - phase0 beforeProcessEpoch | 100.18 ms/op | 87.280 ms/op | 1.15 |
mainnet_e58758 - phase0 processJustificationAndFinalization | 16.195 us/op | 13.319 us/op | 1.22 |
mainnet_e58758 - phase0 processRewardsAndPenalties | 32.874 ms/op | 26.270 ms/op | 1.25 |
mainnet_e58758 - phase0 processRegistryUpdates | 8.1630 us/op | 5.5300 us/op | 1.48 |
mainnet_e58758 - phase0 processSlashings | 385.00 ns/op | 770.00 ns/op | 0.50 |
mainnet_e58758 - phase0 processEth1DataReset | 740.00 ns/op | 719.00 ns/op | 1.03 |
mainnet_e58758 - phase0 processEffectiveBalanceUpdates | 1.1889 ms/op | 1.3597 ms/op | 0.87 |
mainnet_e58758 - phase0 processSlashingsReset | 4.4080 us/op | 2.3320 us/op | 1.89 |
mainnet_e58758 - phase0 processRandaoMixesReset | 5.5870 us/op | 3.2170 us/op | 1.74 |
mainnet_e58758 - phase0 processHistoricalRootsUpdate | 642.00 ns/op | 776.00 ns/op | 0.83 |
mainnet_e58758 - phase0 processParticipationRecordUpdates | 3.6460 us/op | 3.1250 us/op | 1.17 |
mainnet_e58758 - phase0 afterProcessEpoch | 45.858 ms/op | 34.321 ms/op | 1.34 |
phase0 processEffectiveBalanceUpdates - 250000 normalcase | 1.9348 ms/op | 1.6808 ms/op | 1.15 |
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 | 2.4322 ms/op | 1.6333 ms/op | 1.49 |
altair processInactivityUpdates - 250000 normalcase | 17.584 ms/op | 17.134 ms/op | 1.03 |
altair processInactivityUpdates - 250000 worstcase | 16.932 ms/op | 16.320 ms/op | 1.04 |
phase0 processRegistryUpdates - 250000 normalcase | 7.7510 us/op | 5.6000 us/op | 1.38 |
phase0 processRegistryUpdates - 250000 badcase_full_deposits | 300.89 us/op | 312.49 us/op | 0.96 |
phase0 processRegistryUpdates - 250000 worstcase 0.5 | 132.02 ms/op | 110.94 ms/op | 1.19 |
altair processRewardsAndPenalties - 250000 normalcase | 41.675 ms/op | 41.598 ms/op | 1.00 |
altair processRewardsAndPenalties - 250000 worstcase | 42.304 ms/op | 33.371 ms/op | 1.27 |
phase0 getAttestationDeltas - 250000 normalcase | 8.1073 ms/op | 6.4047 ms/op | 1.27 |
phase0 getAttestationDeltas - 250000 worstcase | 8.0574 ms/op | 5.8999 ms/op | 1.37 |
phase0 processSlashings - 250000 worstcase | 102.40 us/op | 81.890 us/op | 1.25 |
altair processSyncCommitteeUpdates - 250000 | 137.84 ms/op | 94.417 ms/op | 1.46 |
BeaconState.hashTreeRoot - No change | 249.00 ns/op | 433.00 ns/op | 0.58 |
BeaconState.hashTreeRoot - 1 full validator | 126.66 us/op | 111.85 us/op | 1.13 |
BeaconState.hashTreeRoot - 32 full validator | 1.1091 ms/op | 1.1559 ms/op | 0.96 |
BeaconState.hashTreeRoot - 512 full validator | 10.775 ms/op | 9.0742 ms/op | 1.19 |
BeaconState.hashTreeRoot - 1 validator.effectiveBalance | 121.77 us/op | 119.37 us/op | 1.02 |
BeaconState.hashTreeRoot - 32 validator.effectiveBalance | 2.1228 ms/op | 1.8957 ms/op | 1.12 |
BeaconState.hashTreeRoot - 512 validator.effectiveBalance | 22.420 ms/op | 22.872 ms/op | 0.98 |
BeaconState.hashTreeRoot - 1 balances | 102.24 us/op | 107.81 us/op | 0.95 |
BeaconState.hashTreeRoot - 32 balances | 902.78 us/op | 1.0188 ms/op | 0.89 |
BeaconState.hashTreeRoot - 512 balances | 8.1918 ms/op | 6.6326 ms/op | 1.24 |
BeaconState.hashTreeRoot - 250000 balances | 168.61 ms/op | 149.20 ms/op | 1.13 |
aggregationBits - 2048 els - zipIndexesInBitList | 28.729 us/op | 44.387 us/op | 0.65 |
byteArrayEquals 32 | 56.013 ns/op | 48.995 ns/op | 1.14 |
Buffer.compare 32 | 18.532 ns/op | 15.863 ns/op | 1.17 |
byteArrayEquals 1024 | 1.6467 us/op | 1.2943 us/op | 1.27 |
Buffer.compare 1024 | 27.047 ns/op | 24.342 ns/op | 1.11 |
byteArrayEquals 16384 | 25.730 us/op | 20.492 us/op | 1.26 |
Buffer.compare 16384 | 207.86 ns/op | 211.94 ns/op | 0.98 |
byteArrayEquals 123687377 | 202.43 ms/op | 151.11 ms/op | 1.34 |
Buffer.compare 123687377 | 9.7400 ms/op | 5.4824 ms/op | 1.78 |
byteArrayEquals 32 - diff last byte | 53.946 ns/op | 44.901 ns/op | 1.20 |
Buffer.compare 32 - diff last byte | 17.362 ns/op | 15.056 ns/op | 1.15 |
byteArrayEquals 1024 - diff last byte | 1.6287 us/op | 1.2103 us/op | 1.35 |
Buffer.compare 1024 - diff last byte | 26.324 ns/op | 24.005 ns/op | 1.10 |
byteArrayEquals 16384 - diff last byte | 25.778 us/op | 19.086 us/op | 1.35 |
Buffer.compare 16384 - diff last byte | 215.14 ns/op | 193.78 ns/op | 1.11 |
byteArrayEquals 123687377 - diff last byte | 196.00 ms/op | 149.48 ms/op | 1.31 |
Buffer.compare 123687377 - diff last byte | 7.7372 ms/op | 3.7173 ms/op | 2.08 |
byteArrayEquals 32 - random bytes | 5.3950 ns/op | 4.8390 ns/op | 1.11 |
Buffer.compare 32 - random bytes | 17.321 ns/op | 16.581 ns/op | 1.04 |
byteArrayEquals 1024 - random bytes | 5.2460 ns/op | 4.8860 ns/op | 1.07 |
Buffer.compare 1024 - random bytes | 17.253 ns/op | 15.835 ns/op | 1.09 |
byteArrayEquals 16384 - random bytes | 5.2520 ns/op | 4.8280 ns/op | 1.09 |
Buffer.compare 16384 - random bytes | 17.297 ns/op | 16.472 ns/op | 1.05 |
byteArrayEquals 123687377 - random bytes | 6.5200 ns/op | 7.7300 ns/op | 0.84 |
Buffer.compare 123687377 - random bytes | 19.400 ns/op | 19.230 ns/op | 1.01 |
regular array get 100000 times | 34.312 us/op | 30.671 us/op | 1.12 |
wrappedArray get 100000 times | 33.442 us/op | 30.631 us/op | 1.09 |
arrayWithProxy get 100000 times | 14.640 ms/op | 9.0841 ms/op | 1.61 |
ssz.Root.equals | 46.511 ns/op | 40.830 ns/op | 1.14 |
byteArrayEquals | 45.590 ns/op | 39.044 ns/op | 1.17 |
Buffer.compare | 10.536 ns/op | 8.2280 ns/op | 1.28 |
processSlot - 1 slots | 14.680 us/op | 15.216 us/op | 0.96 |
processSlot - 32 slots | 2.4696 ms/op | 2.7862 ms/op | 0.89 |
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei | 37.322 ms/op | 41.041 ms/op | 0.91 |
getCommitteeAssignments - req 1 vs - 250000 vc | 2.1404 ms/op | 1.7195 ms/op | 1.24 |
getCommitteeAssignments - req 100 vs - 250000 vc | 4.1139 ms/op | 3.4603 ms/op | 1.19 |
getCommitteeAssignments - req 1000 vs - 250000 vc | 4.4658 ms/op | 3.6948 ms/op | 1.21 |
findModifiedValidators - 10000 modified validators | 289.63 ms/op | 223.07 ms/op | 1.30 |
findModifiedValidators - 1000 modified validators | 177.58 ms/op | 139.22 ms/op | 1.28 |
findModifiedValidators - 100 modified validators | 183.74 ms/op | 139.41 ms/op | 1.32 |
findModifiedValidators - 10 modified validators | 169.47 ms/op | 142.44 ms/op | 1.19 |
findModifiedValidators - 1 modified validators | 173.24 ms/op | 120.70 ms/op | 1.44 |
findModifiedValidators - no difference | 207.05 ms/op | 142.71 ms/op | 1.45 |
compare ViewDUs | 3.0415 s/op | 2.9467 s/op | 1.03 |
compare each validator Uint8Array | 1.3371 s/op | 1.6494 s/op | 0.81 |
compare ViewDU to Uint8Array | 1.2069 s/op | 730.18 ms/op | 1.65 |
migrate state 1000000 validators, 24 modified, 0 new | 685.91 ms/op | 713.73 ms/op | 0.96 |
migrate state 1000000 validators, 1700 modified, 1000 new | 906.75 ms/op | 963.65 ms/op | 0.94 |
migrate state 1000000 validators, 3400 modified, 2000 new | 1.2548 s/op | 1.1693 s/op | 1.07 |
migrate state 1500000 validators, 24 modified, 0 new | 754.67 ms/op | 709.21 ms/op | 1.06 |
migrate state 1500000 validators, 1700 modified, 1000 new | 978.42 ms/op | 893.32 ms/op | 1.10 |
migrate state 1500000 validators, 3400 modified, 2000 new | 1.2553 s/op | 1.0812 s/op | 1.16 |
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei | 5.1800 ns/op | 6.1700 ns/op | 0.84 |
state getBlockRootAtSlot - 250000 vs - 7PWei | 646.34 ns/op | 611.33 ns/op | 1.06 |
computeProposers - vc 250000 | 8.8787 ms/op | 5.2258 ms/op | 1.70 |
computeEpochShuffling - vc 250000 | 45.086 ms/op | 33.809 ms/op | 1.33 |
getNextSyncCommittee - vc 250000 | 143.13 ms/op | 99.630 ms/op | 1.44 |
computeSigningRoot for AttestationData | 27.192 us/op | 19.417 us/op | 1.40 |
hash AttestationData serialized data then Buffer.toString(base64) | 1.7187 us/op | 1.1259 us/op | 1.53 |
toHexString serialized data | 979.52 ns/op | 730.51 ns/op | 1.34 |
Buffer.toString(base64) | 200.27 ns/op | 123.94 ns/op | 1.62 |
nodejs block root to RootHex using toHex | 179.79 ns/op | 111.37 ns/op | 1.61 |
nodejs block root to RootHex using toRootHex | 113.82 ns/op | 67.610 ns/op | 1.68 |
browser block root to RootHex using the deprecated toHexString | 261.22 ns/op | 189.42 ns/op | 1.38 |
browser block root to RootHex using toHex | 205.22 ns/op | 154.91 ns/op | 1.32 |
browser block root to RootHex using toRootHex | 179.32 ns/op | 140.99 ns/op | 1.27 |
by benchmarkbot/action
Motivation
Share goodies with all the team.
Description
.vscode/settings.json
file is the only way to share single root workspace settings among team.Steps to test or reproduce
Additional Notes
From the VSCode