Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(53576): Don't remove indentations from JSDoc tag documentation #53631

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

jespertheend
Copy link
Contributor

@jespertheend jespertheend commented Apr 2, 2023

Fixes #53576

This change makes documentation indentation for JSDoc tags behave the same as documentation without tags. I.e:

/**
 * These indentation
 *       stay preserved,
 *             this has always been the case.
 */
function foo() {}
/**
 * @typedef {Object} foo
 * @property {number} prop But now these
 *          indentations stay preserved as well,
 *     whereas before,
 * leading whitespace used to be trimmed.
 */

@typescript-bot typescript-bot added the For Backlog Bug PRs that fix a backlog bug label Apr 2, 2023
@jespertheend
Copy link
Contributor Author

@microsoft-github-policy-service agree

@jespertheend
Copy link
Contributor Author

jespertheend commented Apr 2, 2023

Some reviewer notes:

  • I wasn't really sure how to make the parser determine what the correct margin should be. For instance, I could have made it look at the ,*, token sequence and then set the margin to right after that. But that seemed a bit too hard coded and wouldn't handle a scenario where @param tags have leading whitespace. So I added an extra argument to parseTagComments that provides it with the margin for any subsequent lines. So this should work:
/**
 *          @param foo docs
 *          none of these lines will be indented
 */

but this won't:

/**
 *          @param foo docs
 * This indentation
 *    will be lost
 *       because it appears
 *    before the `@param` tag
 */
  • I considered trimming all indentations except for those inside tripple ` blocks. But if I'm not mistaken this is not how docs above functions or @typedef tags etc. works either. So I think it's fine to leave indents here.
  • A bunch of tests broke, so I had to update some baselines. But I don't think any of them were surprising.
  • There's two more instances where parseTagComments() is called for which I thought they would require the same newLinesMargin treatment, but I haven't touched them:
    • one inside parseCallbackTag(). I've added a test to verify indentations and it was already passing the moment I ran it. I couldn't find any situation where indentations were removed.
    • another inside parseOverloadTag(), but I think docs are just removed entirely in this case, but I could be wrong here.

@jespertheend jespertheend marked this pull request as ready for review April 2, 2023 19:47
@sandersn sandersn added this to Not started in PR Backlog Apr 10, 2023
@sandersn sandersn self-assigned this Apr 12, 2023
@sandersn sandersn self-requested a review April 12, 2023 17:48
@sandersn sandersn moved this from Not started to Waiting on reviewers in PR Backlog Apr 12, 2023
@sandersn
Copy link
Member

I haven't reviewed the code properly yet, but

  • can you add those two examples as test cases
  • you are right, indentation should be preserved outside triple backticks.

@jespertheend
Copy link
Contributor Author

Sure! This should do it.
I figured the existing tests that changed were already taking care of the case where indentation should stay preserved, but let me know if you like tests for that as well.

@sandersn
Copy link
Member

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 13, 2023

Heya @sandersn, I've started to run the perf test suite on this PR at b4dd315. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

@sandersn
The results of the perf run you requested are in!

Here they are:

Compiler

Comparison Report - main..53631
Metric main 53631 Delta Best Worst p-value
Angular - node (v18.10.0, x64)
Memory used 365,196k (± 0.01%) 365,187k (± 0.01%) ~ 365,161k 365,215k p=0.689 n=6
Parse Time 3.37s (± 0.67%) 3.41s (± 0.36%) +0.03s (+ 0.99%) 3.39s 3.42s p=0.024 n=6
Bind Time 1.11s (± 0.68%) 1.12s (± 0.46%) ~ 1.11s 1.12s p=0.247 n=6
Check Time 8.72s (± 0.61%) 8.77s (± 0.31%) ~ 8.72s 8.79s p=0.077 n=6
Emit Time 7.48s (± 0.74%) 7.49s (± 0.90%) ~ 7.42s 7.59s p=0.810 n=6
Total Time 20.68s (± 0.47%) 20.78s (± 0.44%) ~ 20.68s 20.91s p=0.092 n=6
Compiler-Unions - node (v18.10.0, x64)
Memory used 191,595k (± 1.20%) 191,615k (± 1.20%) ~ 190,648k 196,316k p=0.378 n=6
Parse Time 1.48s (± 1.79%) 1.50s (± 0.88%) ~ 1.48s 1.52s p=0.183 n=6
Bind Time 0.77s (± 1.06%) 0.77s (± 0.98%) ~ 0.76s 0.78s p=0.729 n=6
Check Time 9.59s (± 0.73%) 9.65s (± 0.49%) ~ 9.58s 9.71s p=0.107 n=6
Emit Time 2.72s (± 0.92%) 2.72s (± 0.79%) ~ 2.68s 2.74s p=0.871 n=6
Total Time 14.56s (± 0.61%) 14.64s (± 0.38%) ~ 14.57s 14.70s p=0.106 n=6
Monaco - node (v18.10.0, x64)
Memory used 346,490k (± 0.01%) 346,492k (± 0.01%) ~ 346,453k 346,524k p=1.000 n=6
Parse Time 2.58s (± 0.99%) 2.60s (± 0.87%) ~ 2.58s 2.64s p=0.277 n=6
Bind Time 1.01s (± 1.37%) 1.00s (± 0.75%) ~ 0.99s 1.01s p=0.931 n=6
Check Time 7.11s (± 0.57%) 7.12s (± 0.35%) ~ 7.09s 7.16s p=0.746 n=6
Emit Time 4.26s (± 1.16%) 4.24s (± 0.80%) ~ 4.20s 4.29s p=0.335 n=6
Total Time 14.96s (± 0.68%) 14.96s (± 0.46%) ~ 14.87s 15.05s p=0.936 n=6
TFS - node (v18.10.0, x64)
Memory used 300,724k (± 0.00%) 300,723k (± 0.01%) ~ 300,696k 300,741k p=0.936 n=6
Parse Time 2.05s (± 1.15%) 2.08s (± 0.50%) +0.03s (+ 1.22%) 2.06s 2.09s p=0.039 n=6
Bind Time 1.14s (± 0.92%) 1.13s (± 1.08%) ~ 1.12s 1.15s p=1.000 n=6
Check Time 6.55s (± 0.54%) 6.57s (± 0.37%) ~ 6.53s 6.59s p=0.292 n=6
Emit Time 3.84s (± 0.78%) 3.85s (± 0.72%) ~ 3.82s 3.89s p=0.686 n=6
Total Time 13.58s (± 0.50%) 13.64s (± 0.41%) ~ 13.54s 13.69s p=0.169 n=6
material-ui - node (v18.10.0, x64)
Memory used 480,053k (± 0.01%) 480,093k (± 0.01%) +40k (+ 0.01%) 480,058k 480,154k p=0.045 n=6
Parse Time 3.04s (± 0.64%) 3.06s (± 1.40%) ~ 3.00s 3.12s p=0.413 n=6
Bind Time 0.92s (± 2.86%) 0.92s (± 1.66%) ~ 0.90s 0.94s p=0.808 n=6
Check Time 16.96s (± 0.51%) 17.09s (± 0.80%) ~ 16.88s 17.26s p=0.149 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 20.92s (± 0.45%) 21.06s (± 0.71%) ~ 20.80s 21.24s p=0.170 n=6
xstate - node (v18.10.0, x64)
Memory used 561,738k (± 0.02%) 561,661k (± 0.02%) ~ 561,536k 561,757k p=0.295 n=6
Parse Time 3.81s (± 0.70%) 3.81s (± 0.70%) ~ 3.77s 3.85s p=0.744 n=6
Bind Time 1.64s (± 1.06%) 1.65s (± 0.77%) ~ 1.63s 1.66s p=0.416 n=6
Check Time 2.84s (± 0.69%) 2.87s (± 0.75%) +0.03s (+ 1.06%) 2.84s 2.90s p=0.031 n=6
Emit Time 0.08s (± 0.00%) 0.08s (± 0.00%) ~ 0.08s 0.08s p=1.000 n=6
Total Time 8.38s (± 0.44%) 8.41s (± 0.30%) ~ 8.37s 8.44s p=0.107 n=6
Angular - node (v16.17.1, x64)
Memory used 364,558k (± 0.01%) 364,586k (± 0.00%) ~ 364,564k 364,607k p=0.298 n=6
Parse Time 3.54s (± 0.49%) 3.57s (± 1.36%) ~ 3.51s 3.64s p=0.333 n=6
Bind Time 1.17s (± 0.47%) 1.18s (± 1.28%) ~ 1.17s 1.21s p=0.235 n=6
Check Time 9.54s (± 0.49%) 9.57s (± 0.24%) ~ 9.53s 9.59s p=0.171 n=6
Emit Time 7.97s (± 0.64%) 7.98s (± 0.77%) ~ 7.91s 8.06s p=0.872 n=6
Total Time 22.22s (± 0.22%) 22.31s (± 0.40%) ~ 22.18s 22.38s p=0.171 n=6
Compiler-Unions - node (v16.17.1, x64)
Memory used 192,423k (± 0.02%) 192,417k (± 0.02%) ~ 192,368k 192,489k p=0.688 n=6
Parse Time 1.59s (± 0.79%) 1.59s (± 1.22%) ~ 1.55s 1.60s p=1.000 n=6
Bind Time 0.83s (± 0.66%) 0.83s (± 0.62%) ~ 0.82s 0.83s p=0.640 n=6
Check Time 10.36s (± 0.37%) 10.37s (± 0.38%) ~ 10.31s 10.41s p=0.687 n=6
Emit Time 3.00s (± 1.48%) 2.98s (± 0.75%) ~ 2.95s 3.01s p=0.627 n=6
Total Time 15.78s (± 0.52%) 15.76s (± 0.33%) ~ 15.67s 15.81s p=1.000 n=6
Monaco - node (v16.17.1, x64)
Memory used 345,774k (± 0.00%) 345,772k (± 0.01%) ~ 345,750k 345,798k p=0.575 n=6
Parse Time 2.72s (± 0.31%) 2.73s (± 0.94%) ~ 2.70s 2.77s p=0.244 n=6
Bind Time 1.08s (± 1.23%) 1.09s (± 0.37%) ~ 1.08s 1.09s p=0.257 n=6
Check Time 7.81s (± 0.57%) 7.83s (± 0.47%) ~ 7.79s 7.89s p=0.251 n=6
Emit Time 4.46s (± 1.36%) 4.51s (± 0.79%) ~ 4.44s 4.54s p=0.149 n=6
Total Time 16.07s (± 0.44%) 16.16s (± 0.36%) +0.09s (+ 0.58%) 16.06s 16.22s p=0.030 n=6
TFS - node (v16.17.1, x64)
Memory used 300,049k (± 0.00%) 300,064k (± 0.01%) ~ 300,042k 300,098k p=0.109 n=6
Parse Time 2.17s (± 0.35%) 2.16s (± 0.68%) ~ 2.14s 2.18s p=0.241 n=6
Bind Time 1.23s (± 0.33%) 1.24s (± 1.32%) ~ 1.22s 1.26s p=0.797 n=6
Check Time 7.22s (± 0.20%) 7.23s (± 0.25%) ~ 7.20s 7.25s p=0.289 n=6
Emit Time 4.35s (± 0.86%) 4.33s (± 0.48%) ~ 4.30s 4.35s p=0.332 n=6
Total Time 14.97s (± 0.21%) 14.96s (± 0.21%) ~ 14.93s 15.01s p=0.293 n=6
material-ui - node (v16.17.1, x64)
Memory used 479,359k (± 0.01%) 479,403k (± 0.00%) ~ 479,381k 479,430k p=0.199 n=6
Parse Time 3.24s (± 0.16%) 3.25s (± 0.82%) ~ 3.23s 3.30s p=0.797 n=6
Bind Time 0.95s (± 0.79%) 0.95s (± 0.57%) ~ 0.95s 0.96s p=0.476 n=6
Check Time 18.00s (± 0.82%) 18.05s (± 0.53%) ~ 17.96s 18.19s p=0.261 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 22.19s (± 0.68%) 22.25s (± 0.54%) ~ 22.16s 22.45s p=0.468 n=6
xstate - node (v16.17.1, x64)
Memory used 559,387k (± 0.02%) 559,317k (± 0.02%) ~ 559,201k 559,419k p=0.378 n=6
Parse Time 3.99s (± 0.19%) 3.98s (± 0.29%) ~ 3.97s 4.00s p=0.514 n=6
Bind Time 1.75s (± 0.36%) 1.75s (± 0.48%) ~ 1.75s 1.77s p=0.340 n=6
Check Time 3.06s (± 0.91%) 3.08s (± 0.75%) ~ 3.06s 3.12s p=0.070 n=6
Emit Time 0.10s (± 5.34%) 0.09s (± 0.00%) 🟩-0.01s (- 6.90%) 0.09s 0.09s p=0.025 n=6
Total Time 8.90s (± 0.24%) 8.91s (± 0.26%) ~ 8.88s 8.94s p=0.258 n=6
Angular - node (v14.15.1, x64)
Memory used 358,361k (± 0.00%) 358,376k (± 0.00%) +15k (+ 0.00%) 358,356k 358,390k p=0.045 n=6
Parse Time 3.61s (± 0.38%) 3.66s (± 1.14%) ~ 3.60s 3.71s p=0.089 n=6
Bind Time 1.21s (± 0.34%) 1.22s (± 0.90%) +0.01s (+ 0.97%) 1.21s 1.24s p=0.024 n=6
Check Time 9.92s (± 0.50%) 9.96s (± 0.30%) ~ 9.91s 9.99s p=0.125 n=6
Emit Time 8.29s (± 0.64%) 8.31s (± 0.67%) ~ 8.24s 8.38s p=0.520 n=6
Total Time 23.03s (± 0.31%) 23.15s (± 0.44%) ~ 23.02s 23.27s p=0.066 n=6
Compiler-Unions - node (v14.15.1, x64)
Memory used 187,654k (± 0.01%) 187,649k (± 0.02%) ~ 187,587k 187,672k p=0.630 n=6
Parse Time 1.59s (± 0.65%) 1.60s (± 1.15%) ~ 1.58s 1.63s p=0.934 n=6
Bind Time 0.85s (± 0.61%) 0.85s (± 0.48%) ~ 0.84s 0.85s p=0.595 n=6
Check Time 10.43s (± 0.48%) 10.50s (± 0.32%) ~ 10.46s 10.56s p=0.053 n=6
Emit Time 3.14s (± 0.38%) 3.16s (± 0.70%) ~ 3.13s 3.19s p=0.254 n=6
Total Time 16.01s (± 0.26%) 16.10s (± 0.33%) +0.09s (+ 0.56%) 16.05s 16.19s p=0.015 n=6
Monaco - node (v14.15.1, x64)
Memory used 340,666k (± 0.00%) 340,672k (± 0.01%) ~ 340,630k 340,690k p=0.377 n=6
Parse Time 2.81s (± 0.49%) 2.83s (± 0.69%) ~ 2.80s 2.85s p=0.099 n=6
Bind Time 1.10s (± 0.68%) 1.10s (± 0.74%) ~ 1.10s 1.12s p=0.340 n=6
Check Time 8.12s (± 0.32%) 8.14s (± 0.24%) ~ 8.11s 8.16s p=0.122 n=6
Emit Time 4.71s (± 0.37%) 4.71s (± 0.46%) ~ 4.68s 4.74s p=0.935 n=6
Total Time 16.74s (± 0.19%) 16.78s (± 0.18%) +0.05s (+ 0.28%) 16.73s 16.82s p=0.024 n=6
TFS - node (v14.15.1, x64)
Memory used 295,152k (± 0.00%) 295,148k (± 0.00%) ~ 295,134k 295,154k p=0.873 n=6
Parse Time 2.38s (± 0.41%) 2.40s (± 0.83%) ~ 2.38s 2.43s p=0.072 n=6
Bind Time 1.07s (± 0.51%) 1.06s (± 0.49%) ~ 1.06s 1.07s p=0.640 n=6
Check Time 7.55s (± 0.38%) 7.56s (± 0.21%) ~ 7.53s 7.57s p=0.936 n=6
Emit Time 4.31s (± 0.79%) 4.31s (± 0.74%) ~ 4.28s 4.37s p=0.808 n=6
Total Time 15.31s (± 0.33%) 15.34s (± 0.27%) ~ 15.29s 15.39s p=0.332 n=6
material-ui - node (v14.15.1, x64)
Memory used 474,770k (± 0.01%) 474,799k (± 0.01%) ~ 474,758k 474,835k p=0.173 n=6
Parse Time 3.34s (± 0.36%) 3.37s (± 0.24%) +0.02s (+ 0.70%) 3.36s 3.38s p=0.004 n=6
Bind Time 1.00s (± 0.41%) 1.00s (± 0.54%) ~ 1.00s 1.01s p=0.054 n=6
Check Time 18.95s (± 0.55%) 19.01s (± 0.36%) ~ 18.91s 19.09s p=0.229 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 23.29s (± 0.42%) 23.38s (± 0.33%) ~ 23.27s 23.48s p=0.109 n=6
xstate - node (v14.15.1, x64)
Memory used 547,925k (± 0.00%) 547,936k (± 0.01%) ~ 547,888k 547,973k p=0.575 n=6
Parse Time 4.31s (± 1.66%) 4.34s (± 1.99%) ~ 4.26s 4.44s p=0.257 n=6
Bind Time 1.58s (± 4.29%) 1.58s (± 4.99%) ~ 1.51s 1.67s p=1.000 n=6
Check Time 3.19s (± 0.62%) 3.21s (± 0.82%) ~ 3.19s 3.26s p=0.285 n=6
Emit Time 0.10s (± 5.76%) 0.09s (± 4.45%) ~ 0.09s 0.10s p=0.282 n=6
Total Time 9.19s (± 0.24%) 9.22s (± 0.27%) +0.04s (+ 0.44%) 9.18s 9.25s p=0.028 n=6
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.15.1, x64)
Scenarios
  • Angular - node (v18.10.0, x64)
  • Angular - node (v16.17.1, x64)
  • Angular - node (v14.15.1, x64)
  • Compiler-Unions - node (v18.10.0, x64)
  • Compiler-Unions - node (v16.17.1, x64)
  • Compiler-Unions - node (v14.15.1, x64)
  • Monaco - node (v18.10.0, x64)
  • Monaco - node (v16.17.1, x64)
  • Monaco - node (v14.15.1, x64)
  • TFS - node (v18.10.0, x64)
  • TFS - node (v16.17.1, x64)
  • TFS - node (v14.15.1, x64)
  • material-ui - node (v18.10.0, x64)
  • material-ui - node (v16.17.1, x64)
  • material-ui - node (v14.15.1, x64)
  • xstate - node (v18.10.0, x64)
  • xstate - node (v16.17.1, x64)
  • xstate - node (v14.15.1, x64)
Benchmark Name Iterations
Current 53631 6
Baseline main 6

TSServer

Comparison Report - main..53631
Metric main 53631 Delta Best Worst p-value
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,401ms (± 0.26%) 2,398ms (± 0.48%) ~ 2,381ms 2,413ms p=0.688 n=6
Req 2 - geterr 5,698ms (± 1.07%) 5,688ms (± 0.68%) ~ 5,642ms 5,742ms p=0.810 n=6
Req 3 - references 337ms (± 1.21%) 335ms (± 0.66%) ~ 332ms 338ms p=0.806 n=6
Req 4 - navto 285ms (± 1.09%) 285ms (± 0.72%) ~ 282ms 287ms p=1.000 n=6
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) ~ 1,356 1,356 p=1.000 n=6
Req 5 - completionInfo 84ms (± 2.33%) 84ms (± 0.48%) ~ 84ms 85ms p=0.546 n=6
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,516ms (± 0.89%) 2,499ms (± 1.71%) ~ 2,454ms 2,552ms p=0.688 n=6
Req 2 - geterr 4,254ms (± 0.89%) 4,236ms (± 0.53%) ~ 4,207ms 4,271ms p=0.521 n=6
Req 3 - references 344ms (± 0.44%) 345ms (± 0.76%) ~ 343ms 350ms p=0.406 n=6
Req 4 - navto 289ms (± 0.48%) 288ms (± 0.26%) ~ 287ms 289ms p=0.212 n=6
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) ~ 1,518 1,518 p=1.000 n=6
Req 5 - completionInfo 64ms (± 0.86%) 67ms (± 6.04%) ~ 63ms 71ms p=0.490 n=6
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 3,021ms (± 0.69%) 3,035ms (± 0.37%) ~ 3,025ms 3,055ms p=0.297 n=6
Req 2 - geterr 1,618ms (± 1.03%) 1,620ms (± 1.56%) ~ 1,594ms 1,654ms p=0.936 n=6
Req 3 - references 106ms (± 1.10%) 106ms (± 1.29%) ~ 104ms 108ms p=0.742 n=6
Req 4 - navto 362ms (± 0.51%) 364ms (± 0.59%) ~ 362ms 367ms p=0.095 n=6
Req 5 - completionInfo count 2,862 (± 0.00%) 2,862 (± 0.00%) ~ 2,862 2,862 p=1.000 n=6
Req 5 - completionInfo 366ms (± 1.61%) 367ms (± 1.88%) ~ 356ms 376ms p=0.936 n=6
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,513ms (± 0.58%) 2,506ms (± 0.49%) ~ 2,493ms 2,524ms p=0.336 n=6
Req 2 - geterr 6,130ms (± 0.78%) 6,161ms (± 0.31%) ~ 6,138ms 6,190ms p=0.229 n=6
Req 3 - references 345ms (± 0.74%) 344ms (± 0.93%) ~ 340ms 349ms p=0.406 n=6
Req 4 - navto 286ms (± 0.58%) 286ms (± 0.14%) ~ 286ms 287ms p=0.607 n=6
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) ~ 1,356 1,356 p=1.000 n=6
Req 5 - completionInfo 81ms (± 1.64%) 81ms (± 1.00%) ~ 80ms 82ms p=0.402 n=6
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,669ms (± 0.66%) 2,677ms (± 0.38%) ~ 2,662ms 2,691ms p=0.471 n=6
Req 2 - geterr 4,632ms (± 0.67%) 4,635ms (± 0.51%) ~ 4,600ms 4,674ms p=0.470 n=6
Req 3 - references 359ms (± 0.41%) 359ms (± 0.50%) ~ 357ms 362ms p=1.000 n=6
Req 4 - navto 284ms (± 0.52%) 283ms (± 0.73%) ~ 279ms 285ms p=0.166 n=6
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) ~ 1,518 1,518 p=1.000 n=6
Req 5 - completionInfo 68ms (± 1.11%) 68ms (± 1.11%) ~ 67ms 69ms p=1.000 n=6
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 3,174ms (± 0.33%) 3,180ms (± 0.61%) ~ 3,155ms 3,208ms p=0.689 n=6
Req 2 - geterr 1,756ms (± 1.22%) 1,760ms (± 0.79%) ~ 1,743ms 1,781ms p=0.298 n=6
Req 3 - references 114ms (± 3.68%) 116ms (± 2.01%) ~ 113ms 119ms p=0.125 n=6
Req 4 - navto 347ms (± 1.30%) 345ms (± 1.62%) ~ 338ms 350ms p=0.615 n=6
Req 5 - completionInfo count 2,862 (± 0.00%) 2,862 (± 0.00%) ~ 2,862 2,862 p=1.000 n=6
Req 5 - completionInfo 387ms (± 0.95%) 385ms (± 0.95%) ~ 380ms 389ms p=0.260 n=6
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,619ms (± 0.59%) 2,623ms (± 0.75%) ~ 2,603ms 2,655ms p=1.000 n=6
Req 2 - geterr 6,394ms (± 1.55%) 6,380ms (± 1.30%) ~ 6,290ms 6,530ms p=0.810 n=6
Req 3 - references 358ms (± 0.74%) 371ms (± 6.09%) ~ 356ms 416ms p=0.146 n=6
Req 4 - navto 289ms (± 0.75%) 287ms (± 1.04%) ~ 283ms 290ms p=0.286 n=6
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) ~ 1,356 1,356 p=1.000 n=6
Req 5 - completionInfo 91ms (± 4.86%) 93ms (± 8.35%) ~ 81ms 101ms p=0.405 n=6
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,783ms (± 0.52%) 2,799ms (± 0.64%) ~ 2,778ms 2,824ms p=0.196 n=6
Req 2 - geterr 4,749ms (± 0.49%) 4,727ms (± 0.41%) ~ 4,699ms 4,755ms p=0.109 n=6
Req 3 - references 372ms (± 0.44%) 372ms (± 0.61%) ~ 368ms 374ms p=1.000 n=6
Req 4 - navto 293ms (± 0.79%) 294ms (± 1.09%) ~ 291ms 299ms p=0.573 n=6
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) ~ 1,518 1,518 p=1.000 n=6
Req 5 - completionInfo 73ms (± 0.56%) 73ms (± 0.70%) ~ 73ms 74ms p=0.595 n=6
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,402ms (± 0.61%) 3,397ms (± 0.16%) ~ 3,391ms 3,405ms p=0.260 n=6
Req 2 - geterr 1,850ms (± 0.79%) 1,865ms (± 0.86%) ~ 1,842ms 1,879ms p=0.149 n=6
Req 3 - references 125ms (± 0.33%) 125ms (± 0.65%) ~ 124ms 126ms p=0.584 n=6
Req 4 - navto 394ms (± 0.91%) 396ms (± 1.50%) ~ 392ms 404ms p=0.681 n=6
Req 5 - completionInfo count 2,862 (± 0.00%) 2,862 (± 0.00%) ~ 2,862 2,862 p=1.000 n=6
Req 5 - completionInfo 406ms (± 0.57%) 409ms (± 1.06%) ~ 403ms 414ms p=0.462 n=6
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.15.1, x64)
Scenarios
  • Compiler-UnionsTSServer - node (v18.10.0, x64)
  • Compiler-UnionsTSServer - node (v16.17.1, x64)
  • Compiler-UnionsTSServer - node (v14.15.1, x64)
  • CompilerTSServer - node (v18.10.0, x64)
  • CompilerTSServer - node (v16.17.1, x64)
  • CompilerTSServer - node (v14.15.1, x64)
  • xstateTSServer - node (v18.10.0, x64)
  • xstateTSServer - node (v16.17.1, x64)
  • xstateTSServer - node (v14.15.1, x64)
Benchmark Name Iterations
Current 53631 6
Baseline main 6

Startup

Comparison Report - main..53631
Metric main 53631 Delta Best Worst p-value
tsc-startup - node (v16.17.1, x64)
Execution time 141.59ms (± 0.16%) 141.41ms (± 0.17%) -0.18ms (- 0.13%) 140.75ms 146.73ms p=0.000 n=600
tsserver-startup - node (v16.17.1, x64)
Execution time 219.90ms (± 0.17%) 219.62ms (± 0.18%) -0.28ms (- 0.13%) 218.60ms 225.49ms p=0.000 n=600
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time 221.42ms (± 0.20%) 221.08ms (± 0.14%) -0.34ms (- 0.15%) 220.21ms 225.37ms p=0.000 n=600
typescript-startup - node (v16.17.1, x64)
Execution time 203.30ms (± 0.21%) 202.98ms (± 0.16%) -0.32ms (- 0.16%) 202.10ms 208.38ms p=0.000 n=600
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v16.17.1, x64)
Scenarios
  • tsc-startup - node (v16.17.1, x64)
  • tsserver-startup - node (v16.17.1, x64)
  • tsserverlibrary-startup - node (v16.17.1, x64)
  • typescript-startup - node (v16.17.1, x64)
Benchmark Name Iterations
Current 53631 6
Baseline main 6

Developer Information:

Download Benchmark

@jespertheend
Copy link
Contributor Author

@sandersn Are the perf results ok? An increase of 1% in some of these sounds like a lot. Is there anything I should change?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
For Backlog Bug PRs that fix a backlog bug
Projects
PR Backlog
  
Waiting on reviewers
Development

Successfully merging this pull request may close these issues.

JSDoc tag descriptions lose their indentation.
3 participants