Skip to content

Don't set NodeFlags.JavaScriptFile on JSON, avoid asking for JSDoc outside of JS #52641

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

Closed
wants to merge 4 commits into from

Conversation

jakebailey
Copy link
Member

I found this with #52640 as we ask for JSDoc tags on something that isn't a JS file without first checking, which could be a bug, but in this particular case is just a waste of CPU time.

I also noticed that we check that the node isn't also JSON, which seemed weird, because how can something be both JSON and JS? It turns out that JSON files get both context flags set, and so this extra condition is required (the only use of isInJsonFile in the checker!). But, nothing fails if we just make the two NodeFlags mutually exclusive, so I've done that.

@jakebailey
Copy link
Member Author

@typescript-bot test this
@typescript-bot test top100
@typescript-bot user test this
@typescript-bot user test tsserver
@typescript-bot test tsserver top100
@typescript-bot run dt
@typescript-bot perf test this

@typescript-bot typescript-bot added Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug labels Feb 6, 2023
@typescript-bot
Copy link
Collaborator

typescript-bot commented Feb 6, 2023

Heya @jakebailey, I've started to run the diff-based top-repos suite on this PR at 3b20e70. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Feb 6, 2023

Heya @jakebailey, I've started to run the diff-based top-repos suite (tsserver) on this PR at 3b20e70. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Feb 6, 2023

Heya @jakebailey, I've started to run the parallelized Definitely Typed test suite on this PR at 3b20e70. You can monitor the build here.

@typescript-bot
Copy link
Collaborator

typescript-bot commented Feb 6, 2023

Heya @jakebailey, I've started to run the diff-based user code test suite on this PR at 3b20e70. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Feb 6, 2023

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

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Feb 6, 2023

Heya @jakebailey, I've started to run the diff-based user code test suite (tsserver) on this PR at 3b20e70. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Feb 6, 2023

Heya @jakebailey, I've started to run the extended test suite on this PR at 3b20e70. You can monitor the build here.

@jakebailey jakebailey changed the title Don't set NodeFlags.JavaScriptFile on JSON, avoid asking for JSDoc Don't set NodeFlags.JavaScriptFile on JSON, avoid asking for JSDoc outside of JS Feb 6, 2023
@typescript-bot
Copy link
Collaborator

@jakebailey Here are the results of running the user test suite comparing main and refs/pull/52641/merge:

Everything looks good!

1 similar comment
@typescript-bot
Copy link
Collaborator

@jakebailey Here are the results of running the user test suite comparing main and refs/pull/52641/merge:

Everything looks good!

@typescript-bot
Copy link
Collaborator

Heya @jakebailey, I've run the RWC suite on this PR - assuming you're on the TS core team, you can view the resulting diff here.

@DanielRosenwasser
Copy link
Member

Do we need to better-harden these at all?

if (!isInJSFile(node) && !isFunctionSymbol(parentSymbol)) {

if (!isInJSFile(sourceFile) || !isCheckJsEnabledForFile(sourceFile, program.getCompilerOptions())) {

@jakebailey
Copy link
Member Author

jakebailey commented Feb 6, 2023

Probably, I guess all of those (there are other checks sorta like it) may be doing more work than needed. Clearly nothing actually fails...

(We could also harden getJSDocTagsWorker to say "don't try and ask for JSDoc on JSON"; getJsDocTagsFromDeclarations would actually immediately fail because of this. But it's hard to say if that case even matters; it'll just do nothing.)

@jakebailey
Copy link
Member Author

Maybe it's not worth changing the flag thing at all, if it makes those sort of "is outside of TS" checks harder. Or maybe we need to do the opposite and instead have a helper which says "if in TS".

@typescript-bot
Copy link
Collaborator

@jakebailey Here are the results of running the top-repos suite comparing main and refs/pull/52641/merge:

Everything looks good!

1 similar comment
@typescript-bot
Copy link
Collaborator

@jakebailey Here are the results of running the top-repos suite comparing main and refs/pull/52641/merge:

Everything looks good!

@typescript-bot
Copy link
Collaborator

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

Here they are:

Compiler

Comparison Report - main..52641
Metric main 52641 Delta Best Worst p-value
Angular - node (v18.10.0, x64)
Memory used 359,857k (± 0.01%) 359,406k (± 0.02%) -451k (- 0.13%) 359,352k 359,495k p=0.005 n=6
Parse Time 3.98s (± 0.65%) 3.97s (± 0.87%) ~ 3.94s 4.03s p=0.686 n=6
Bind Time 1.18s (± 0.69%) 1.19s (± 0.92%) +0.01s (+ 1.13%) 1.18s 1.21s p=0.045 n=6
Check Time 8.69s (± 0.21%) 8.72s (± 0.32%) +0.03s (+ 0.40%) 8.68s 8.76s p=0.043 n=6
Emit Time 7.61s (± 0.40%) 7.62s (± 0.47%) ~ 7.59s 7.68s p=0.687 n=6
Total Time 21.45s (± 0.29%) 21.51s (± 0.28%) ~ 21.45s 21.59s p=0.109 n=6
Compiler-Unions - node (v18.10.0, x64)
Memory used 193,195k (± 1.18%) 195,086k (± 1.62%) ~ 191,951k 198,110k p=0.471 n=6
Parse Time 1.63s (± 1.57%) 1.63s (± 1.67%) ~ 1.59s 1.66s p=0.871 n=6
Bind Time 0.79s (± 0.65%) 0.80s (± 0.69%) ~ 0.79s 0.80s p=0.640 n=6
Check Time 9.72s (± 0.50%) 9.74s (± 0.57%) ~ 9.69s 9.84s p=0.809 n=6
Emit Time 2.79s (± 0.75%) 2.84s (± 4.00%) ~ 2.77s 3.07s p=0.517 n=6
Total Time 14.95s (± 0.48%) 15.01s (± 0.86%) ~ 14.87s 15.22s p=0.378 n=6
Monaco - node (v18.10.0, x64)
Memory used 344,000k (± 0.01%) 342,711k (± 0.01%) -1,289k (- 0.37%) 342,634k 342,759k p=0.005 n=6
Parse Time 2.96s (± 0.41%) 2.95s (± 1.08%) ~ 2.92s 3.00s p=0.624 n=6
Bind Time 1.04s (± 0.72%) 1.04s (± 1.12%) ~ 1.02s 1.05s p=0.796 n=6
Check Time 7.05s (± 0.53%) 7.03s (± 0.63%) ~ 6.98s 7.09s p=0.334 n=6
Emit Time 4.32s (± 0.60%) 4.33s (± 0.53%) ~ 4.29s 4.36s p=0.682 n=6
Total Time 15.37s (± 0.28%) 15.35s (± 0.57%) ~ 15.25s 15.49s p=0.572 n=6
TFS - node (v18.10.0, x64)
Memory used 300,397k (± 0.01%) 300,023k (± 0.01%) -374k (- 0.12%) 300,001k 300,057k p=0.005 n=6
Parse Time 2.28s (± 1.68%) 2.26s (± 0.93%) ~ 2.23s 2.28s p=0.331 n=6
Bind Time 1.17s (± 0.44%) 1.17s (± 0.35%) ~ 1.17s 1.18s p=0.114 n=6
Check Time 6.56s (± 0.63%) 6.50s (± 0.64%) -0.06s (- 0.86%) 6.44s 6.57s p=0.043 n=6
Emit Time 3.91s (± 0.73%) 3.91s (± 0.83%) ~ 3.86s 3.96s p=0.871 n=6
Total Time 13.93s (± 0.75%) 13.85s (± 0.42%) ~ 13.76s 13.92s p=0.296 n=6
material-ui - node (v18.10.0, x64)
Memory used 476,839k (± 0.00%) 476,610k (± 0.01%) -229k (- 0.05%) 476,573k 476,669k p=0.005 n=6
Parse Time 3.56s (± 0.23%) 3.54s (± 0.86%) ~ 3.48s 3.56s p=0.271 n=6
Bind Time 0.96s (± 0.57%) 0.97s (± 0.53%) +0.01s (+ 0.86%) 0.97s 0.98s p=0.038 n=6
Check Time 17.19s (± 0.48%) 17.14s (± 0.43%) ~ 17.07s 17.26s p=0.296 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 21.72s (± 0.37%) 21.66s (± 0.40%) ~ 21.55s 21.80s p=0.298 n=6
xstate - node (v18.10.0, x64)
Memory used 549,106k (± 0.03%) 549,076k (± 0.02%) ~ 548,976k 549,203k p=0.689 n=6
Parse Time 4.55s (± 0.45%) 4.56s (± 0.54%) ~ 4.52s 4.59s p=0.421 n=6
Bind Time 1.71s (± 0.86%) 1.71s (± 0.95%) ~ 1.69s 1.73s p=0.870 n=6
Check Time 2.82s (± 1.36%) 2.81s (± 0.49%) ~ 2.79s 2.83s p=0.624 n=6
Emit Time 0.08s (± 0.00%) 0.08s (± 4.99%) ~ 0.08s 0.09s p=0.405 n=6
Total Time 9.17s (± 0.53%) 9.18s (± 0.36%) ~ 9.12s 9.21s p=0.418 n=6
Angular - node (v16.17.1, x64)
Memory used 359,229k (± 0.01%) 358,789k (± 0.00%) -440k (- 0.12%) 358,767k 358,818k p=0.005 n=6
Parse Time 4.18s (± 0.46%) 4.19s (± 0.26%) ~ 4.18s 4.20s p=0.360 n=6
Bind Time 1.23s (± 1.26%) 1.22s (± 0.67%) ~ 1.21s 1.23s p=0.510 n=6
Check Time 9.48s (± 0.34%) 9.47s (± 0.21%) ~ 9.46s 9.51s p=0.808 n=6
Emit Time 8.08s (± 0.76%) 8.07s (± 0.36%) ~ 8.03s 8.10s p=0.871 n=6
Total Time 22.97s (± 0.31%) 22.96s (± 0.15%) ~ 22.91s 23.01s p=0.575 n=6
Compiler-Unions - node (v16.17.1, x64)
Memory used 193,960k (± 0.03%) 193,870k (± 0.02%) -90k (- 0.05%) 193,819k 193,924k p=0.031 n=6
Parse Time 1.80s (± 0.42%) 1.80s (± 0.30%) ~ 1.80s 1.81s p=0.137 n=6
Bind Time 0.85s (± 0.48%) 0.84s (± 0.65%) ~ 0.84s 0.85s p=0.054 n=6
Check Time 10.43s (± 0.59%) 10.43s (± 0.44%) ~ 10.38s 10.49s p=1.000 n=6
Emit Time 3.05s (± 0.70%) 3.07s (± 1.28%) ~ 3.01s 3.11s p=0.418 n=6
Total Time 16.13s (± 0.41%) 16.14s (± 0.39%) ~ 16.08s 16.25s p=0.936 n=6
Monaco - node (v16.17.1, x64)
Memory used 343,262k (± 0.01%) 342,013k (± 0.01%) -1,250k (- 0.36%) 341,987k 342,060k p=0.005 n=6
Parse Time 3.15s (± 1.36%) 3.15s (± 1.69%) ~ 3.09s 3.23s p=1.000 n=6
Bind Time 1.11s (± 0.93%) 1.12s (± 0.73%) ~ 1.11s 1.13s p=0.546 n=6
Check Time 7.72s (± 0.28%) 7.70s (± 0.20%) ~ 7.69s 7.73s p=0.221 n=6
Emit Time 4.53s (± 0.30%) 4.55s (± 0.83%) ~ 4.50s 4.60s p=0.746 n=6
Total Time 16.51s (± 0.29%) 16.51s (± 0.21%) ~ 16.46s 16.55s p=1.000 n=6
TFS - node (v16.17.1, x64)
Memory used 299,759k (± 0.01%) 299,392k (± 0.01%) -367k (- 0.12%) 299,377k 299,418k p=0.005 n=6
Parse Time 2.46s (± 1.64%) 2.48s (± 1.72%) ~ 2.44s 2.54s p=0.326 n=6
Bind Time 1.25s (± 0.93%) 1.26s (± 0.41%) ~ 1.25s 1.26s p=0.523 n=6
Check Time 7.22s (± 0.47%) 7.16s (± 0.22%) -0.06s (- 0.79%) 7.14s 7.17s p=0.010 n=6
Emit Time 4.23s (± 0.90%) 4.21s (± 0.25%) ~ 4.20s 4.23s p=0.681 n=6
Total Time 15.16s (± 0.64%) 15.12s (± 0.25%) ~ 15.07s 15.18s p=0.574 n=6
material-ui - node (v16.17.1, x64)
Memory used 476,091k (± 0.00%) 475,881k (± 0.01%) -210k (- 0.04%) 475,845k 475,908k p=0.005 n=6
Parse Time 3.71s (± 0.11%) 3.71s (± 0.24%) ~ 3.70s 3.72s p=0.787 n=6
Bind Time 1.01s (± 0.82%) 1.02s (± 0.40%) ~ 1.02s 1.03s p=0.115 n=6
Check Time 18.16s (± 0.59%) 18.18s (± 0.34%) ~ 18.13s 18.28s p=0.378 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 22.89s (± 0.43%) 22.92s (± 0.28%) ~ 22.86s 23.02s p=0.335 n=6
xstate - node (v16.17.1, x64)
Memory used 546,773k (± 0.01%) 546,720k (± 0.02%) ~ 546,612k 546,855k p=0.378 n=6
Parse Time 4.76s (± 0.43%) 4.77s (± 0.45%) ~ 4.73s 4.79s p=0.453 n=6
Bind Time 1.80s (± 3.68%) 1.81s (± 3.74%) ~ 1.67s 1.85s p=0.934 n=6
Check Time 3.12s (± 2.91%) 3.10s (± 2.48%) ~ 3.01s 3.24s p=0.872 n=6
Emit Time 0.09s (± 0.00%) 0.09s (± 0.00%) ~ 0.09s 0.09s p=1.000 n=6
Total Time 9.77s (± 0.38%) 9.75s (± 0.23%) ~ 9.73s 9.79s p=0.376 n=6
Angular - node (v14.15.1, x64)
Memory used 352,846k (± 0.01%) 352,403k (± 0.01%) -443k (- 0.13%) 352,380k 352,430k p=0.005 n=6
Parse Time 4.23s (± 0.41%) 4.23s (± 0.36%) ~ 4.21s 4.25s p=1.000 n=6
Bind Time 1.28s (± 1.15%) 1.29s (± 0.32%) ~ 1.28s 1.29s p=0.100 n=6
Check Time 9.73s (± 0.61%) 9.78s (± 0.43%) ~ 9.73s 9.84s p=0.259 n=6
Emit Time 8.37s (± 0.51%) 8.39s (± 0.73%) ~ 8.34s 8.50s p=0.627 n=6
Total Time 23.61s (± 0.37%) 23.68s (± 0.23%) ~ 23.61s 23.75s p=0.148 n=6
Compiler-Unions - node (v14.15.1, x64)
Memory used 188,833k (± 0.08%) 188,893k (± 0.06%) ~ 188,744k 189,016k p=0.575 n=6
Parse Time 1.84s (± 0.44%) 1.83s (± 0.28%) -0.01s (- 0.54%) 1.83s 1.84s p=0.022 n=6
Bind Time 0.86s (± 0.47%) 0.86s (± 0.47%) ~ 0.86s 0.87s p=1.000 n=6
Check Time 10.51s (± 0.51%) 10.47s (± 0.40%) ~ 10.41s 10.53s p=0.126 n=6
Emit Time 3.37s (± 4.50%) 3.32s (± 5.76%) ~ 3.14s 3.54s p=0.628 n=6
Total Time 16.58s (± 1.04%) 16.49s (± 1.28%) ~ 16.26s 16.77s p=0.471 n=6
Monaco - node (v14.15.1, x64)
Memory used 338,029k (± 0.00%) 336,766k (± 0.00%) -1,263k (- 0.37%) 336,760k 336,787k p=0.005 n=6
Parse Time 3.21s (± 0.47%) 3.24s (± 0.87%) ~ 3.21s 3.28s p=0.252 n=6
Bind Time 1.11s (± 0.68%) 1.12s (± 0.73%) ~ 1.11s 1.13s p=0.120 n=6
Check Time 8.07s (± 0.65%) 8.04s (± 0.35%) ~ 8.01s 8.09s p=0.293 n=6
Emit Time 4.77s (± 0.31%) 4.79s (± 0.71%) ~ 4.73s 4.82s p=0.258 n=6
Total Time 17.16s (± 0.38%) 17.18s (± 0.14%) ~ 17.14s 17.21s p=0.419 n=6
TFS - node (v14.15.1, x64)
Memory used 294,577k (± 0.01%) 294,206k (± 0.01%) -371k (- 0.13%) 294,180k 294,223k p=0.005 n=6
Parse Time 2.74s (± 0.74%) 2.75s (± 0.37%) ~ 2.74s 2.77s p=0.279 n=6
Bind Time 1.11s (± 0.37%) 1.11s (± 0.88%) ~ 1.10s 1.12s p=0.930 n=6
Check Time 7.51s (± 0.58%) 7.49s (± 0.59%) ~ 7.42s 7.53s p=0.517 n=6
Emit Time 4.62s (± 0.83%) 4.61s (± 0.54%) ~ 4.58s 4.64s p=0.742 n=6
Total Time 15.98s (± 0.41%) 15.96s (± 0.37%) ~ 15.87s 16.02s p=0.936 n=6
material-ui - node (v14.15.1, x64)
Memory used 471,631k (± 0.00%) 471,374k (± 0.00%) -257k (- 0.05%) 471,346k 471,399k p=0.005 n=6
Parse Time 3.95s (± 0.72%) 3.92s (± 0.32%) -0.03s (- 0.76%) 3.90s 3.93s p=0.041 n=6
Bind Time 1.03s (± 0.00%) 1.04s (± 0.79%) ~ 1.03s 1.05s p=0.073 n=6
Check Time 19.13s (± 0.33%) 19.08s (± 0.46%) ~ 18.94s 19.16s p=0.296 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 24.12s (± 0.28%) 24.04s (± 0.37%) ~ 23.91s 24.14s p=0.172 n=6
xstate - node (v14.15.1, x64)
Memory used 534,895k (± 0.01%) 534,803k (± 0.01%) -92k (- 0.02%) 534,762k 534,875k p=0.010 n=6
Parse Time 5.12s (± 0.48%) 5.14s (± 0.90%) ~ 5.10s 5.21s p=0.572 n=6
Bind Time 1.71s (± 0.71%) 1.72s (± 0.60%) ~ 1.70s 1.73s p=0.180 n=6
Check Time 3.13s (± 0.33%) 3.15s (± 0.56%) ~ 3.13s 3.18s p=0.241 n=6
Emit Time 0.10s (± 0.00%) 0.10s (± 0.00%) ~ 0.10s 0.10s p=1.000 n=6
Total Time 10.07s (± 0.34%) 10.10s (± 0.38%) ~ 10.07s 10.16s p=0.332 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 52641 6
Baseline main 6

TSServer

Comparison Report - main..52641
Metric main 52641 Delta Best Worst p-value
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,527ms (± 1.66%) 2,523ms (± 1.45%) ~ 2,467ms 2,569ms p=0.810 n=6
Req 2 - geterr 5,562ms (± 0.28%) 5,534ms (± 0.41%) -28ms (- 0.50%) 5,496ms 5,559ms p=0.031 n=6
Req 3 - references 369ms (± 0.47%) 368ms (± 0.45%) ~ 365ms 370ms p=0.932 n=6
Req 4 - navto 284ms (± 0.52%) 282ms (± 0.37%) -3ms (- 0.88%) 280ms 283ms p=0.018 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 72ms (± 1.62%) 77ms (±11.07%) ~ 71ms 88ms p=1.000 n=6
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,708ms (± 0.69%) 2,743ms (± 0.97%) +35ms (+ 1.30%) 2,702ms 2,767ms p=0.037 n=6
Req 2 - geterr 4,058ms (± 0.45%) 4,055ms (± 0.42%) ~ 4,039ms 4,083ms p=0.748 n=6
Req 3 - references 369ms (± 0.80%) 367ms (± 0.72%) ~ 363ms 370ms p=0.290 n=6
Req 4 - navto 293ms (± 0.92%) 293ms (± 0.56%) ~ 291ms 295ms p=0.934 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 67ms (± 1.58%) 68ms (± 4.84%) ~ 65ms 74ms p=1.000 n=6
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 3,500ms (± 0.72%) 3,492ms (± 0.61%) ~ 3,468ms 3,527ms p=0.689 n=6
Req 2 - geterr 1,636ms (± 0.80%) 1,648ms (± 0.97%) ~ 1,628ms 1,668ms p=0.170 n=6
Req 3 - references 104ms (± 1.66%) 105ms (± 0.99%) ~ 104ms 106ms p=0.438 n=6
Req 4 - navto 358ms (± 1.05%) 356ms (± 0.86%) ~ 352ms 360ms p=0.421 n=6
Req 5 - completionInfo count 3,175 (± 0.00%) 3,175 (± 0.00%) ~ 3,175 3,175 p=1.000 n=6
Req 5 - completionInfo 450ms (± 1.25%) 450ms (± 0.73%) ~ 445ms 453ms p=0.873 n=6
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,768ms (± 0.84%) 2,774ms (± 0.94%) ~ 2,728ms 2,806ms p=0.471 n=6
Req 2 - geterr 5,938ms (± 0.36%) 5,926ms (± 0.61%) ~ 5,871ms 5,964ms p=0.748 n=6
Req 3 - references 381ms (± 1.12%) 379ms (± 0.41%) ~ 376ms 380ms p=0.742 n=6
Req 4 - navto 278ms (± 0.63%) 277ms (± 0.20%) ~ 276ms 277ms p=0.138 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 79ms (± 1.75%) 79ms (± 1.06%) ~ 78ms 80ms p=0.672 n=6
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,938ms (± 1.05%) 2,930ms (± 0.30%) ~ 2,915ms 2,938ms p=0.936 n=6
Req 2 - geterr 4,412ms (± 0.33%) 4,414ms (± 0.37%) ~ 4,387ms 4,430ms p=0.687 n=6
Req 3 - references 381ms (± 0.94%) 381ms (± 0.76%) ~ 377ms 384ms p=0.936 n=6
Req 4 - navto 288ms (± 0.92%) 289ms (± 0.42%) ~ 287ms 290ms p=0.739 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 (± 1.15%) 72ms (± 0.88%) ~ 71ms 73ms p=0.340 n=6
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 3,612ms (± 0.30%) 3,626ms (± 0.34%) ~ 3,608ms 3,639ms p=0.091 n=6
Req 2 - geterr 1,825ms (± 1.42%) 1,823ms (± 1.75%) ~ 1,784ms 1,865ms p=1.000 n=6
Req 3 - references 111ms (± 2.25%) 114ms (± 2.69%) ~ 110ms 119ms p=0.196 n=6
Req 4 - navto 342ms (± 0.88%) 342ms (± 1.17%) ~ 338ms 348ms p=0.687 n=6
Req 5 - completionInfo count 3,175 (± 0.00%) 3,175 (± 0.00%) ~ 3,175 3,175 p=1.000 n=6
Req 5 - completionInfo 453ms (± 1.21%) 455ms (± 1.42%) ~ 447ms 463ms p=0.574 n=6
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,903ms (± 0.17%) 2,894ms (± 0.57%) ~ 2,872ms 2,921ms p=0.128 n=6
Req 2 - geterr 6,328ms (± 0.97%) 6,299ms (± 1.05%) ~ 6,243ms 6,386ms p=0.689 n=6
Req 3 - references 392ms (± 0.62%) 389ms (± 0.57%) ~ 387ms 393ms p=0.088 n=6
Req 4 - navto 283ms (± 1.54%) 282ms (± 2.04%) ~ 275ms 292ms p=0.466 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 93ms (±10.11%) 93ms (± 9.11%) ~ 81ms 101ms p=0.805 n=6
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,081ms (± 1.23%) 3,083ms (± 0.64%) ~ 3,059ms 3,106ms p=0.689 n=6
Req 2 - geterr 4,709ms (± 0.24%) 4,726ms (± 0.81%) ~ 4,667ms 4,780ms p=0.376 n=6
Req 3 - references 413ms (± 1.17%) 408ms (± 0.90%) ~ 402ms 413ms p=0.106 n=6
Req 4 - navto 296ms (± 0.17%) 295ms (± 0.52%) ~ 293ms 297ms p=0.142 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 85ms (± 4.84%) 78ms (± 4.99%) ~ 73ms 81ms p=0.055 n=6
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,975ms (± 0.63%) 3,960ms (± 0.52%) ~ 3,933ms 3,985ms p=0.378 n=6
Req 2 - geterr 1,790ms (± 1.01%) 1,828ms (± 1.88%) ~ 1,785ms 1,865ms p=0.093 n=6
Req 3 - references 129ms (± 1.69%) 129ms (± 2.85%) ~ 125ms 134ms p=1.000 n=6
Req 4 - navto 378ms (± 1.77%) 375ms (± 0.47%) ~ 372ms 377ms p=0.517 n=6
Req 5 - completionInfo count 3,175 (± 0.00%) 3,175 (± 0.00%) ~ 3,175 3,175 p=1.000 n=6
Req 5 - completionInfo 468ms (± 1.47%) 471ms (± 2.13%) ~ 461ms 486ms p=0.936 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 52641 6
Baseline main 6

Startup

Comparison Report - main..52641
Metric main 52641 Delta Best Worst p-value
tsc-startup - node (v16.17.1, x64)
Execution time 142.23ms (± 0.21%) 142.42ms (± 0.18%) +0.18ms (+ 0.13%) 141.52ms 146.60ms p=0.000 n=600
tsserver-startup - node (v16.17.1, x64)
Execution time 227.06ms (± 0.23%) 227.72ms (± 0.27%) +0.66ms (+ 0.29%) 225.69ms 233.28ms p=0.000 n=600
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time 228.61ms (± 0.15%) 229.84ms (± 0.34%) +1.23ms (+ 0.54%) 227.82ms 237.44ms p=0.000 n=600
typescript-startup - node (v16.17.1, x64)
Execution time 209.69ms (± 0.19%) 210.02ms (± 0.23%) +0.33ms (+ 0.16%) 208.63ms 216.34ms 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 52641 6
Baseline main 6

Developer Information:

Download Benchmark

@jakebailey
Copy link
Member Author

Seems like no change in performance, but, a little bit of a memory improvement? Hard to say if that's specifically not setting the flag or the jsdoc change itself. I guess I can split this PR in two.

@jakebailey jakebailey marked this pull request as draft February 7, 2023 01:20
@jakebailey
Copy link
Member Author

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Feb 7, 2023

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

Update: The results are in!

@typescript-bot
Copy link
Collaborator

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

Here they are:

Compiler

Comparison Report - main..52641
Metric main 52641 Delta Best Worst p-value
Angular - node (v18.10.0, x64)
Memory used 359,868k (± 0.02%) 359,453k (± 0.02%) -415k (- 0.12%) 359,358k 359,522k p=0.005 n=6
Parse Time 4.01s (± 0.79%) 4.00s (± 1.65%) ~ 3.90s 4.09s p=0.873 n=6
Bind Time 1.18s (± 0.71%) 1.18s (± 0.35%) ~ 1.18s 1.19s p=0.527 n=6
Check Time 8.74s (± 0.64%) 8.75s (± 0.30%) ~ 8.72s 8.79s p=1.000 n=6
Emit Time 7.68s (± 0.94%) 7.68s (± 0.61%) ~ 7.61s 7.74s p=0.936 n=6
Total Time 21.61s (± 0.65%) 21.62s (± 0.61%) ~ 21.42s 21.81s p=1.000 n=6
Compiler-Unions - node (v18.10.0, x64)
Memory used 193,249k (± 1.16%) 193,989k (± 1.61%) ~ 191,853k 198,099k p=0.471 n=6
Parse Time 1.62s (± 2.08%) 1.65s (± 1.04%) ~ 1.62s 1.67s p=0.187 n=6
Bind Time 0.80s (± 1.05%) 0.80s (± 0.64%) ~ 0.80s 0.81s p=0.070 n=6
Check Time 9.78s (± 0.74%) 9.88s (± 0.28%) +0.11s (+ 1.07%) 9.85s 9.92s p=0.031 n=6
Emit Time 2.88s (± 4.68%) 2.95s (± 5.80%) ~ 2.78s 3.13s p=1.000 n=6
Total Time 15.07s (± 1.12%) 15.29s (± 1.22%) ~ 15.10s 15.51s p=0.078 n=6
Monaco - node (v18.10.0, x64)
Memory used 343,999k (± 0.01%) 342,750k (± 0.01%) -1,248k (- 0.36%) 342,702k 342,807k p=0.005 n=6
Parse Time 2.96s (± 1.10%) 2.97s (± 0.69%) ~ 2.94s 3.00s p=0.567 n=6
Bind Time 1.04s (± 0.61%) 1.04s (± 0.99%) ~ 1.03s 1.06s p=0.654 n=6
Check Time 7.05s (± 0.34%) 7.08s (± 0.41%) ~ 7.05s 7.12s p=0.106 n=6
Emit Time 4.32s (± 0.62%) 4.35s (± 0.86%) ~ 4.30s 4.39s p=0.106 n=6
Total Time 15.37s (± 0.42%) 15.45s (± 0.27%) ~ 15.39s 15.51s p=0.077 n=6
TFS - node (v18.10.0, x64)
Memory used 300,395k (± 0.01%) 300,043k (± 0.01%) -351k (- 0.12%) 300,026k 300,069k p=0.005 n=6
Parse Time 2.28s (± 1.56%) 2.28s (± 1.35%) ~ 2.24s 2.32s p=0.688 n=6
Bind Time 1.17s (± 0.47%) 1.18s (± 0.54%) ~ 1.17s 1.19s p=0.201 n=6
Check Time 6.54s (± 0.97%) 6.54s (± 0.63%) ~ 6.46s 6.58s p=0.810 n=6
Emit Time 3.93s (± 0.62%) 3.95s (± 0.71%) ~ 3.91s 3.98s p=0.285 n=6
Total Time 13.93s (± 0.32%) 13.95s (± 0.47%) ~ 13.84s 14.04s p=0.520 n=6
material-ui - node (v18.10.0, x64)
Memory used 476,861k (± 0.01%) 476,624k (± 0.01%) -237k (- 0.05%) 476,581k 476,669k p=0.005 n=6
Parse Time 3.57s (± 0.71%) 3.56s (± 1.14%) ~ 3.53s 3.64s p=0.518 n=6
Bind Time 0.97s (± 0.56%) 0.97s (± 0.56%) ~ 0.97s 0.98s p=1.000 n=6
Check Time 17.28s (± 0.64%) 17.37s (± 0.55%) ~ 17.24s 17.52s 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 21.83s (± 0.50%) 21.91s (± 0.44%) ~ 21.77s 22.05s p=0.173 n=6
xstate - node (v18.10.0, x64)
Memory used 549,038k (± 0.01%) 549,058k (± 0.03%) ~ 548,887k 549,303k p=0.936 n=6
Parse Time 4.56s (± 0.24%) 4.60s (± 0.30%) +0.04s (+ 0.99%) 4.59s 4.63s p=0.004 n=6
Bind Time 1.71s (± 0.71%) 1.73s (± 0.60%) ~ 1.71s 1.74s p=0.084 n=6
Check Time 2.84s (± 0.69%) 2.83s (± 0.47%) ~ 2.81s 2.84s p=0.570 n=6
Emit Time 0.08s (± 4.99%) 0.08s (± 0.00%) ~ 0.08s 0.08s p=0.405 n=6
Total Time 9.20s (± 0.31%) 9.25s (± 0.30%) +0.05s (+ 0.51%) 9.20s 9.27s p=0.036 n=6
Angular - node (v16.17.1, x64)
Memory used 359,206k (± 0.01%) 358,783k (± 0.01%) -423k (- 0.12%) 358,744k 358,818k p=0.005 n=6
Parse Time 4.18s (± 0.36%) 4.21s (± 0.63%) ~ 4.17s 4.23s p=0.180 n=6
Bind Time 1.23s (± 0.42%) 1.23s (± 0.51%) ~ 1.22s 1.24s p=0.386 n=6
Check Time 9.48s (± 0.74%) 9.50s (± 0.53%) ~ 9.42s 9.56s p=0.688 n=6
Emit Time 8.08s (± 0.49%) 8.13s (± 0.62%) ~ 8.04s 8.18s p=0.108 n=6
Total Time 22.98s (± 0.37%) 23.06s (± 0.32%) ~ 22.98s 23.19s p=0.077 n=6
Compiler-Unions - node (v16.17.1, x64)
Memory used 193,901k (± 0.04%) 193,906k (± 0.04%) ~ 193,782k 193,993k p=0.936 n=6
Parse Time 1.80s (± 0.23%) 1.81s (± 0.35%) +0.01s (+ 0.65%) 1.80s 1.82s p=0.009 n=6
Bind Time 0.85s (± 1.16%) 0.85s (± 0.48%) ~ 0.85s 0.86s p=0.487 n=6
Check Time 10.42s (± 0.82%) 10.49s (± 0.66%) ~ 10.37s 10.58s p=0.228 n=6
Emit Time 3.07s (± 0.81%) 3.08s (± 0.67%) ~ 3.06s 3.11s p=0.368 n=6
Total Time 16.14s (± 0.54%) 16.24s (± 0.48%) ~ 16.12s 16.34s p=0.078 n=6
Monaco - node (v16.17.1, x64)
Memory used 343,278k (± 0.01%) 342,004k (± 0.01%) -1,274k (- 0.37%) 341,961k 342,024k p=0.005 n=6
Parse Time 3.18s (± 1.07%) 3.17s (± 0.91%) ~ 3.15s 3.23s p=0.935 n=6
Bind Time 1.12s (± 0.88%) 1.12s (± 0.67%) ~ 1.11s 1.13s p=1.000 n=6
Check Time 7.72s (± 0.41%) 7.71s (± 0.49%) ~ 7.65s 7.75s p=0.683 n=6
Emit Time 4.53s (± 0.43%) 4.54s (± 0.46%) ~ 4.51s 4.57s p=0.567 n=6
Total Time 16.55s (± 0.25%) 16.53s (± 0.46%) ~ 16.44s 16.65s p=0.748 n=6
TFS - node (v16.17.1, x64)
Memory used 299,763k (± 0.00%) 299,414k (± 0.01%) -349k (- 0.12%) 299,396k 299,440k p=0.005 n=6
Parse Time 2.48s (± 1.54%) 2.46s (± 1.22%) ~ 2.43s 2.49s p=0.560 n=6
Bind Time 1.26s (± 0.50%) 1.26s (± 0.65%) ~ 1.25s 1.27s p=0.432 n=6
Check Time 7.22s (± 0.44%) 7.19s (± 0.65%) ~ 7.11s 7.25s p=0.421 n=6
Emit Time 4.23s (± 0.41%) 4.22s (± 0.57%) ~ 4.20s 4.27s p=0.331 n=6
Total Time 15.18s (± 0.32%) 15.14s (± 0.37%) ~ 15.07s 15.24s p=0.261 n=6
material-ui - node (v16.17.1, x64)
Memory used 476,111k (± 0.00%) 475,861k (± 0.00%) -250k (- 0.05%) 475,844k 475,893k p=0.005 n=6
Parse Time 3.72s (± 0.24%) 3.73s (± 0.56%) ~ 3.71s 3.77s p=0.452 n=6
Bind Time 1.02s (± 0.50%) 1.03s (± 0.50%) ~ 1.02s 1.03s p=0.311 n=6
Check Time 18.17s (± 0.68%) 18.26s (± 0.40%) ~ 18.16s 18.33s 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.92s (± 0.54%) 23.02s (± 0.35%) ~ 22.91s 23.10s p=0.127 n=6
xstate - node (v16.17.1, x64)
Memory used 546,780k (± 0.03%) 546,743k (± 0.03%) ~ 546,586k 546,936k p=0.575 n=6
Parse Time 4.76s (± 0.57%) 4.79s (± 0.78%) ~ 4.75s 4.85s p=0.195 n=6
Bind Time 1.79s (± 5.30%) 1.79s (± 5.15%) ~ 1.67s 1.87s p=0.687 n=6
Check Time 3.15s (± 3.68%) 3.16s (± 3.45%) ~ 3.07s 3.32s p=0.375 n=6
Emit Time 0.09s (± 4.45%) 0.09s (± 5.53%) ~ 0.09s 0.10s p=0.595 n=6
Total Time 9.79s (± 0.49%) 9.84s (± 0.53%) ~ 9.76s 9.91s p=0.171 n=6
Angular - node (v14.15.1, x64)
Memory used 352,855k (± 0.00%) 352,416k (± 0.01%) -439k (- 0.12%) 352,388k 352,450k p=0.005 n=6
Parse Time 4.25s (± 0.38%) 4.29s (± 0.32%) +0.03s (+ 0.78%) 4.27s 4.31s p=0.007 n=6
Bind Time 1.29s (± 0.40%) 1.29s (± 0.32%) ~ 1.28s 1.29s p=0.595 n=6
Check Time 9.76s (± 0.68%) 9.79s (± 0.48%) ~ 9.73s 9.86s p=0.573 n=6
Emit Time 8.39s (± 0.61%) 8.47s (± 0.95%) ~ 8.33s 8.56s p=0.077 n=6
Total Time 23.68s (± 0.51%) 23.83s (± 0.32%) +0.15s (+ 0.62%) 23.73s 23.92s p=0.037 n=6
Compiler-Unions - node (v14.15.1, x64)
Memory used 189,370k (± 0.76%) 189,396k (± 0.67%) ~ 188,739k 191,986k p=0.810 n=6
Parse Time 1.85s (± 0.74%) 1.86s (± 0.48%) ~ 1.85s 1.87s p=0.084 n=6
Bind Time 0.87s (± 1.40%) 0.87s (± 0.87%) ~ 0.86s 0.88s p=0.485 n=6
Check Time 10.54s (± 0.49%) 10.60s (± 0.20%) +0.05s (+ 0.52%) 10.57s 10.62s p=0.027 n=6
Emit Time 3.44s (± 3.76%) 3.39s (± 5.34%) ~ 3.15s 3.52s p=0.936 n=6
Total Time 16.70s (± 0.81%) 16.72s (± 1.10%) ~ 16.46s 16.86s p=0.226 n=6
Monaco - node (v14.15.1, x64)
Memory used 338,017k (± 0.00%) 336,758k (± 0.00%) -1,258k (- 0.37%) 336,729k 336,777k p=0.005 n=6
Parse Time 3.22s (± 0.85%) 3.27s (± 0.97%) ~ 3.21s 3.30s p=0.052 n=6
Bind Time 1.11s (± 0.37%) 1.12s (± 0.46%) ~ 1.11s 1.12s p=0.112 n=6
Check Time 8.07s (± 0.42%) 8.08s (± 0.63%) ~ 8.01s 8.15s p=0.630 n=6
Emit Time 4.79s (± 0.96%) 4.80s (± 0.68%) ~ 4.76s 4.84s p=0.574 n=6
Total Time 17.19s (± 0.43%) 17.27s (± 0.34%) ~ 17.20s 17.36s p=0.092 n=6
TFS - node (v14.15.1, x64)
Memory used 294,572k (± 0.00%) 294,210k (± 0.01%) -362k (- 0.12%) 294,189k 294,245k p=0.005 n=6
Parse Time 2.75s (± 1.16%) 2.76s (± 0.78%) ~ 2.73s 2.79s p=0.570 n=6
Bind Time 1.11s (± 0.73%) 1.11s (± 1.05%) ~ 1.09s 1.12s p=0.498 n=6
Check Time 7.53s (± 0.50%) 7.50s (± 0.45%) ~ 7.44s 7.53s p=0.334 n=6
Emit Time 4.65s (± 0.54%) 4.67s (± 0.50%) ~ 4.63s 4.70s p=0.183 n=6
Total Time 16.04s (± 0.26%) 16.04s (± 0.34%) ~ 15.97s 16.10s p=1.000 n=6
material-ui - node (v14.15.1, x64)
Memory used 471,631k (± 0.00%) 471,395k (± 0.00%) -236k (- 0.05%) 471,363k 471,421k p=0.005 n=6
Parse Time 3.96s (± 0.72%) 3.97s (± 0.30%) ~ 3.96s 3.99s p=0.147 n=6
Bind Time 1.04s (± 0.39%) 1.04s (± 0.78%) ~ 1.03s 1.05s p=0.584 n=6
Check Time 19.18s (± 0.55%) 19.20s (± 0.62%) ~ 19.04s 19.32s p=0.872 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 24.18s (± 0.47%) 24.21s (± 0.47%) ~ 24.06s 24.33s p=0.689 n=6
xstate - node (v14.15.1, x64)
Memory used 534,854k (± 0.01%) 534,859k (± 0.01%) ~ 534,821k 534,913k p=0.936 n=6
Parse Time 5.15s (± 0.80%) 5.22s (± 0.97%) ~ 5.15s 5.29s p=0.054 n=6
Bind Time 1.73s (± 0.52%) 1.73s (± 1.08%) ~ 1.70s 1.75s p=0.745 n=6
Check Time 3.14s (± 0.71%) 3.15s (± 0.39%) ~ 3.14s 3.17s p=0.140 n=6
Emit Time 0.10s (± 0.00%) 0.10s (± 4.01%) ~ 0.10s 0.11s p=0.405 n=6
Total Time 10.12s (± 0.61%) 10.20s (± 0.59%) ~ 10.14s 10.30s p=0.065 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 52641 6
Baseline main 6

TSServer

Comparison Report - main..52641
Metric main 52641 Delta Best Worst p-value
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,538ms (± 1.70%) 2,533ms (± 0.89%) ~ 2,511ms 2,571ms p=0.810 n=6
Req 2 - geterr 5,556ms (± 0.54%) 5,568ms (± 0.50%) ~ 5,520ms 5,596ms p=0.471 n=6
Req 3 - references 370ms (± 0.77%) 371ms (± 0.86%) ~ 367ms 376ms p=0.747 n=6
Req 4 - navto 284ms (± 0.36%) 285ms (± 1.00%) ~ 281ms 289ms p=0.293 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 71ms (± 0.72%) 75ms (± 8.55%) ~ 71ms 88ms p=0.103 n=6
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,752ms (± 1.42%) 2,742ms (± 1.71%) ~ 2,703ms 2,830ms p=0.575 n=6
Req 2 - geterr 4,042ms (± 0.58%) 4,080ms (± 0.53%) +38ms (+ 0.94%) 4,055ms 4,106ms p=0.045 n=6
Req 3 - references 368ms (± 1.37%) 369ms (± 1.36%) ~ 363ms 378ms p=0.808 n=6
Req 4 - navto 293ms (± 0.91%) 295ms (± 0.46%) ~ 293ms 297ms p=0.226 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 66ms (± 0.78%) 67ms (± 0.94%) ~ 66ms 68ms p=0.091 n=6
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 3,489ms (± 0.64%) 3,506ms (± 1.18%) ~ 3,467ms 3,570ms p=0.689 n=6
Req 2 - geterr 1,646ms (± 0.69%) 1,667ms (± 0.98%) ~ 1,650ms 1,690ms p=0.064 n=6
Req 3 - references 104ms (± 1.61%) 105ms (± 0.94%) ~ 104ms 106ms p=0.437 n=6
Req 4 - navto 360ms (± 1.11%) 360ms (± 1.01%) ~ 356ms 366ms p=0.747 n=6
Req 5 - completionInfo count 3,175 (± 0.00%) 3,175 (± 0.00%) ~ 3,175 3,175 p=1.000 n=6
Req 5 - completionInfo 445ms (± 0.95%) 452ms (± 1.30%) +7ms (+ 1.65%) 444ms 458ms p=0.045 n=6
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,774ms (± 0.53%) 2,768ms (± 0.80%) ~ 2,733ms 2,796ms p=1.000 n=6
Req 2 - geterr 5,923ms (± 0.72%) 5,924ms (± 0.78%) ~ 5,864ms 5,980ms p=0.810 n=6
Req 3 - references 381ms (± 0.95%) 379ms (± 0.40%) ~ 377ms 381ms p=0.224 n=6
Req 4 - navto 278ms (± 1.01%) 277ms (± 0.46%) ~ 275ms 278ms p=0.517 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 78ms (± 1.89%) 79ms (± 1.31%) ~ 77ms 80ms p=0.310 n=6
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,941ms (± 0.46%) 2,953ms (± 0.47%) ~ 2,932ms 2,968ms p=0.173 n=6
Req 2 - geterr 4,416ms (± 0.57%) 4,418ms (± 0.54%) ~ 4,372ms 4,444ms p=0.630 n=6
Req 3 - references 382ms (± 1.06%) 382ms (± 1.20%) ~ 374ms 386ms p=1.000 n=6
Req 4 - navto 288ms (± 0.81%) 288ms (± 0.78%) ~ 284ms 290ms p=0.871 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 72ms (± 1.05%) 72ms (± 1.04%) ~ 71ms 73ms p=0.487 n=6
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 3,637ms (± 0.24%) 3,649ms (± 0.42%) ~ 3,631ms 3,666ms p=0.297 n=6
Req 2 - geterr 1,819ms (± 1.29%) 1,822ms (± 0.98%) ~ 1,799ms 1,847ms p=0.936 n=6
Req 3 - references 113ms (± 1.42%) 111ms (± 1.59%) -2ms (- 2.07%) 109ms 113ms p=0.042 n=6
Req 4 - navto 347ms (± 1.36%) 343ms (± 1.03%) ~ 340ms 349ms p=0.199 n=6
Req 5 - completionInfo count 3,175 (± 0.00%) 3,175 (± 0.00%) ~ 3,175 3,175 p=1.000 n=6
Req 5 - completionInfo 456ms (± 1.40%) 455ms (± 1.05%) ~ 449ms 462ms p=0.810 n=6
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,906ms (± 0.67%) 2,918ms (± 0.40%) ~ 2,905ms 2,933ms p=0.333 n=6
Req 2 - geterr 6,343ms (± 1.03%) 6,368ms (± 0.88%) ~ 6,313ms 6,436ms p=0.378 n=6
Req 3 - references 390ms (± 1.04%) 392ms (± 0.73%) ~ 389ms 397ms p=0.573 n=6
Req 4 - navto 285ms (± 2.11%) 282ms (± 1.23%) ~ 279ms 287ms p=0.466 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 93ms (± 8.64%) 97ms (± 7.57%) ~ 82ms 101ms p=0.625 n=6
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,116ms (± 0.72%) 3,103ms (± 0.62%) ~ 3,080ms 3,135ms p=0.335 n=6
Req 2 - geterr 4,723ms (± 0.51%) 4,751ms (± 0.39%) +28ms (+ 0.59%) 4,718ms 4,774ms p=0.045 n=6
Req 3 - references 408ms (± 1.04%) 411ms (± 1.04%) ~ 408ms 419ms p=0.198 n=6
Req 4 - navto 297ms (± 0.51%) 295ms (± 1.12%) ~ 289ms 299ms p=0.256 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 87ms (± 3.29%) 76ms (± 5.66%) 🟩-11ms (-13.05%) 72ms 81ms p=0.005 n=6
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,988ms (± 0.91%) 3,992ms (± 0.49%) ~ 3,971ms 4,025ms p=0.936 n=6
Req 2 - geterr 1,809ms (± 1.11%) 1,820ms (± 1.57%) ~ 1,774ms 1,858ms p=0.261 n=6
Req 3 - references 131ms (± 3.01%) 127ms (± 1.70%) -4ms (- 2.94%) 125ms 131ms p=0.046 n=6
Req 4 - navto 378ms (± 0.55%) 378ms (± 0.40%) ~ 376ms 380ms p=1.000 n=6
Req 5 - completionInfo count 3,175 (± 0.00%) 3,175 (± 0.00%) ~ 3,175 3,175 p=1.000 n=6
Req 5 - completionInfo 476ms (± 1.81%) 466ms (± 0.76%) -10ms (- 2.10%) 463ms 472ms p=0.035 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 52641 6
Baseline main 6

Startup

Comparison Report - main..52641
Metric main 52641 Delta Best Worst p-value
tsc-startup - node (v16.17.1, x64)
Execution time 142.26ms (± 0.20%) 142.32ms (± 0.17%) +0.06ms (+ 0.04%) 141.75ms 145.85ms p=0.000 n=600
tsserver-startup - node (v16.17.1, x64)
Execution time 226.84ms (± 0.17%) 227.05ms (± 0.22%) +0.21ms (+ 0.09%) 225.91ms 234.61ms p=0.000 n=600
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time 228.85ms (± 0.19%) 229.19ms (± 0.26%) +0.34ms (+ 0.15%) 227.62ms 239.06ms p=0.000 n=600
typescript-startup - node (v16.17.1, x64)
Execution time 209.52ms (± 0.19%) 209.54ms (± 0.17%) ~ 208.57ms 216.18ms p=0.355 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 52641 6
Baseline main 6

Developer Information:

Download Benchmark

@jakebailey
Copy link
Member Author

Hm, hard to say if that's actually better.

I guess the only question I have is if it's worth it to change the flags; I think the checker change is totally fine as it reduces the work we do, and I can do that without changing this flags behavior (though I don't think the flag being on there is a good idea in general).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants