Skip to content

Treat this as a constant reference for purpose of narrowing using aliased expressions #54347

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

Merged
merged 1 commit into from
Jun 1, 2023

Conversation

Andarist
Copy link
Contributor

fixes #53267

@typescript-bot typescript-bot added the For Backlog Bug PRs that fix a backlog bug label May 22, 2023
@sandersn sandersn requested a review from ahejlsberg June 1, 2023 23:24
Copy link
Member

@sandersn sandersn left a comment

Choose a reason for hiding this comment

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

Question about a diff in an existing test.

@@ -304,9 +297,6 @@ tests/cases/conformance/controlFlow/controlFlowAliasing.ts(280,5): error TS2454:
// Some narrowings may be invalidated due to later assignments.
let s: string;
s = this.x;
~
Copy link
Member

Choose a reason for hiding this comment

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

I would expect this to match s = x on the next line, as it does in the previous diff. Why does the error go away for s = this.x here, but not for s = x?
For that matter, why does assignment in the else branch prevent narrowing in the if branch?

Copy link
Member

Choose a reason for hiding this comment

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

There's an assignment to x in the else branch that causes x to viewed as mutable and therefore it isn't narrowed. There's a comment to that effect in the test, so not unexpected.

@sandersn
Copy link
Member

sandersn commented Jun 1, 2023

@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 pack this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jun 1, 2023

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

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jun 1, 2023

Heya @sandersn, I've started to run the tarball bundle task on this PR at c6ebde7. You can monitor the build here.

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jun 1, 2023

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

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jun 1, 2023

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

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jun 1, 2023

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

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jun 1, 2023

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

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jun 1, 2023

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

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jun 1, 2023

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

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jun 1, 2023

Hey @sandersn, I've packed this into an installable tgz. You can install it for testing by referencing it in your package.json like so:

{
    "devDependencies": {
        "typescript": "https://typescript.visualstudio.com/cf7ac146-d525-443c-b23c-0d58337efebc/_apis/build/builds/155307/artifacts?artifactName=tgz&fileId=3D426879F5A837F7F2E76D8218A274523255F1AF4CCA69ADD681B6C50F62F68E02&fileName=/typescript-5.2.0-insiders.20230601.tgz"
    }
}

and then running npm install.


There is also a playground for this build and an npm module you can use via "typescript": "npm:@typescript-deploys/pr-build@5.2.0-pr-54347-9".;

@@ -304,9 +297,6 @@ tests/cases/conformance/controlFlow/controlFlowAliasing.ts(280,5): error TS2454:
// Some narrowings may be invalidated due to later assignments.
let s: string;
s = this.x;
~
Copy link
Member

Choose a reason for hiding this comment

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

There's an assignment to x in the else branch that causes x to viewed as mutable and therefore it isn't narrowed. There's a comment to that effect in the test, so not unexpected.

@sandersn sandersn merged commit 2fb0267 into microsoft:main Jun 1, 2023
@typescript-bot
Copy link
Collaborator

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

Everything looks good!

@typescript-bot
Copy link
Collaborator

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

Everything looks good!

@typescript-bot
Copy link
Collaborator

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

Here they are:

Compiler

Comparison Report - main..54347
Metric main 54347 Delta Best Worst p-value
Angular - node (v18.10.0, x64)
Memory used 365,820k (± 0.01%) 365,829k (± 0.00%) ~ 365,802k 365,844k p=0.628 n=6
Parse Time 3.43s (± 0.54%) 3.40s (± 0.63%) -0.03s (- 0.87%) 3.37s 3.43s p=0.043 n=6
Bind Time 1.12s (± 0.36%) 1.12s (± 0.75%) ~ 1.11s 1.13s p=0.097 n=6
Check Time 8.75s (± 0.75%) 8.77s (± 0.30%) ~ 8.75s 8.82s p=0.574 n=6
Emit Time 7.45s (± 0.60%) 7.41s (± 0.18%) -0.04s (- 0.58%) 7.39s 7.42s p=0.043 n=6
Total Time 20.75s (± 0.50%) 20.70s (± 0.07%) ~ 20.68s 20.72s p=0.226 n=6
Compiler-Unions - node (v18.10.0, x64)
Memory used 192,142k (± 1.22%) 193,051k (± 1.49%) ~ 191,156k 196,806k p=0.689 n=6
Parse Time 1.52s (± 1.15%) 1.50s (± 1.42%) -0.03s (- 1.64%) 1.46s 1.52s p=0.043 n=6
Bind Time 0.77s (± 0.00%) 0.77s (± 0.53%) ~ 0.77s 0.78s p=0.405 n=6
Check Time 9.50s (± 0.46%) 9.44s (± 0.37%) -0.06s (- 0.61%) 9.39s 9.47s p=0.029 n=6
Emit Time 2.73s (± 0.33%) 2.74s (± 1.72%) ~ 2.68s 2.82s p=0.466 n=6
Total Time 14.52s (± 0.37%) 14.45s (± 0.28%) ~ 14.40s 14.52s p=0.053 n=6
Monaco - node (v18.10.0, x64)
Memory used 346,605k (± 0.01%) 346,623k (± 0.01%) ~ 346,578k 346,688k p=0.378 n=6
Parse Time 2.56s (± 0.81%) 2.58s (± 1.06%) ~ 2.55s 2.62s p=0.257 n=6
Bind Time 1.01s (± 0.75%) 1.00s (± 1.60%) ~ 0.98s 1.03s p=0.196 n=6
Check Time 7.16s (± 0.66%) 7.14s (± 0.25%) ~ 7.12s 7.16s p=0.462 n=6
Emit Time 4.26s (± 1.18%) 4.25s (± 0.89%) ~ 4.21s 4.31s p=0.808 n=6
Total Time 14.99s (± 0.53%) 14.97s (± 0.50%) ~ 14.88s 15.07s p=0.873 n=6
TFS - node (v18.10.0, x64)
Memory used 300,608k (± 0.01%) 300,614k (± 0.00%) ~ 300,602k 300,632k p=0.378 n=6
Parse Time 2.08s (± 0.95%) 2.05s (± 1.36%) ~ 2.02s 2.10s p=0.168 n=6
Bind Time 1.14s (± 0.91%) 1.14s (± 0.72%) ~ 1.13s 1.15s p=0.932 n=6
Check Time 6.64s (± 0.47%) 6.60s (± 0.42%) ~ 6.57s 6.63s p=0.107 n=6
Emit Time 3.90s (± 1.94%) 3.88s (± 0.35%) ~ 3.87s 3.90s p=0.467 n=6
Total Time 13.75s (± 0.63%) 13.67s (± 0.26%) ~ 13.63s 13.72s p=0.126 n=6
material-ui - node (v18.10.0, x64)
Memory used 481,722k (± 0.01%) 481,746k (± 0.01%) ~ 481,693k 481,799k p=0.471 n=6
Parse Time 3.11s (± 0.47%) 3.11s (± 0.55%) ~ 3.09s 3.14s p=1.000 n=6
Bind Time 0.92s (± 1.15%) 0.91s (± 1.08%) ~ 0.90s 0.92s p=0.673 n=6
Check Time 16.78s (± 0.16%) 16.77s (± 0.48%) ~ 16.69s 16.92s p=0.332 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 20.80s (± 0.16%) 20.79s (± 0.44%) ~ 20.71s 20.96s p=0.423 n=6
xstate - node (v18.10.0, x64)
Memory used 563,033k (± 0.02%) 563,061k (± 0.02%) ~ 562,935k 563,241k p=0.575 n=6
Parse Time 3.81s (± 0.68%) 3.83s (± 0.47%) ~ 3.80s 3.85s p=0.327 n=6
Bind Time 1.65s (± 0.92%) 1.63s (± 0.60%) ~ 1.62s 1.64s p=0.059 n=6
Check Time 2.81s (± 0.37%) 2.81s (± 0.80%) ~ 2.77s 2.83s p=0.625 n=6
Emit Time 0.08s (± 0.00%) 0.08s (± 0.00%) ~ 0.08s 0.08s p=1.000 n=6
Total Time 8.36s (± 0.33%) 8.34s (± 0.40%) ~ 8.28s 8.37s p=0.332 n=6
Angular - node (v16.17.1, x64)
Memory used 365,235k (± 0.01%) 365,243k (± 0.01%) ~ 365,142k 365,285k p=0.471 n=6
Parse Time 3.56s (± 0.14%) 3.56s (± 0.35%) ~ 3.54s 3.57s p=0.931 n=6
Bind Time 1.18s (± 0.69%) 1.18s (± 0.54%) ~ 1.17s 1.19s p=0.432 n=6
Check Time 9.56s (± 0.34%) 9.53s (± 0.26%) ~ 9.49s 9.56s p=0.253 n=6
Emit Time 7.92s (± 0.73%) 7.95s (± 0.57%) ~ 7.87s 7.99s p=0.335 n=6
Total Time 22.22s (± 0.35%) 22.22s (± 0.21%) ~ 22.15s 22.27s p=1.000 n=6
Compiler-Unions - node (v16.17.1, x64)
Memory used 193,493k (± 0.71%) 193,506k (± 0.74%) ~ 192,862k 196,418k p=0.936 n=6
Parse Time 1.60s (± 1.44%) 1.61s (± 0.85%) ~ 1.58s 1.62s p=0.803 n=6
Bind Time 0.83s (± 0.66%) 0.83s (± 0.49%) ~ 0.82s 0.83s p=0.282 n=6
Check Time 10.25s (± 0.89%) 10.15s (± 0.76%) ~ 10.01s 10.24s p=0.126 n=6
Emit Time 3.00s (± 0.62%) 3.00s (± 1.20%) ~ 2.97s 3.06s p=0.935 n=6
Total Time 15.67s (± 0.65%) 15.59s (± 0.46%) ~ 15.47s 15.66s p=0.261 n=6
Monaco - node (v16.17.1, x64)
Memory used 345,885k (± 0.01%) 345,880k (± 0.01%) ~ 345,855k 345,904k p=0.873 n=6
Parse Time 2.73s (± 0.28%) 2.73s (± 0.51%) ~ 2.71s 2.75s p=0.212 n=6
Bind Time 1.09s (± 0.00%) 1.09s (± 1.11%) ~ 1.08s 1.11s p=0.121 n=6
Check Time 7.85s (± 0.61%) 7.83s (± 0.36%) ~ 7.78s 7.86s p=0.572 n=6
Emit Time 4.49s (± 0.79%) 4.44s (± 0.55%) -0.05s (- 1.04%) 4.40s 4.46s p=0.043 n=6
Total Time 16.15s (± 0.40%) 16.08s (± 0.35%) ~ 15.97s 16.13s p=0.077 n=6
TFS - node (v16.17.1, x64)
Memory used 299,955k (± 0.01%) 299,959k (± 0.00%) ~ 299,947k 299,986k p=0.423 n=6
Parse Time 2.17s (± 0.69%) 2.17s (± 0.94%) ~ 2.15s 2.21s p=0.681 n=6
Bind Time 1.23s (± 1.11%) 1.24s (± 0.44%) ~ 1.23s 1.24s p=0.663 n=6
Check Time 7.27s (± 0.60%) 7.27s (± 0.44%) ~ 7.22s 7.32s p=0.936 n=6
Emit Time 4.36s (± 0.63%) 4.33s (± 0.84%) ~ 4.29s 4.39s p=0.227 n=6
Total Time 15.03s (± 0.51%) 15.01s (± 0.34%) ~ 14.95s 15.07s p=0.630 n=6
material-ui - node (v16.17.1, x64)
Memory used 480,995k (± 0.00%) 481,001k (± 0.00%) ~ 480,989k 481,007k p=0.378 n=6
Parse Time 3.26s (± 0.47%) 3.26s (± 0.26%) ~ 3.24s 3.26s p=1.000 n=6
Bind Time 0.94s (± 0.80%) 0.94s (± 0.80%) ~ 0.93s 0.95s p=1.000 n=6
Check Time 17.83s (± 0.64%) 17.83s (± 1.18%) ~ 17.65s 18.19s p=0.688 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 22.03s (± 0.48%) 22.03s (± 0.94%) ~ 21.84s 22.38s p=0.689 n=6
xstate - node (v16.17.1, x64)
Memory used 560,679k (± 0.02%) 560,672k (± 0.02%) ~ 560,528k 560,798k p=0.936 n=6
Parse Time 4.01s (± 0.26%) 4.02s (± 0.13%) ~ 4.01s 4.02s p=0.774 n=6
Bind Time 1.76s (± 0.46%) 1.76s (± 0.98%) ~ 1.73s 1.78s p=0.677 n=6
Check Time 3.06s (± 0.45%) 3.04s (± 0.68%) ~ 3.02s 3.08s p=0.221 n=6
Emit Time 0.09s (± 4.62%) 0.09s (± 0.00%) ~ 0.09s 0.09s p=0.405 n=6
Total Time 8.91s (± 0.23%) 8.91s (± 0.28%) ~ 8.87s 8.94s p=0.808 n=6
Angular - node (v14.21.3, x64)
Memory used 359,201k (± 0.01%) 359,208k (± 0.01%) ~ 359,182k 359,235k p=0.630 n=6
Parse Time 3.66s (± 0.72%) 3.66s (± 0.35%) ~ 3.64s 3.67s p=0.413 n=6
Bind Time 1.22s (± 0.62%) 1.22s (± 0.42%) ~ 1.21s 1.22s p=0.784 n=6
Check Time 10.01s (± 0.41%) 10.00s (± 0.29%) ~ 9.96s 10.04s p=0.419 n=6
Emit Time 8.40s (± 1.15%) 8.34s (± 0.73%) ~ 8.27s 8.44s p=0.261 n=6
Total Time 23.29s (± 0.36%) 23.22s (± 0.35%) ~ 23.14s 23.36s p=0.173 n=6
Compiler-Unions - node (v14.21.3, x64)
Memory used 188,289k (± 0.01%) 188,287k (± 0.01%) ~ 188,269k 188,309k p=0.748 n=6
Parse Time 1.63s (± 0.64%) 1.62s (± 0.25%) ~ 1.61s 1.62s p=0.209 n=6
Bind Time 0.86s (± 1.41%) 0.85s (± 0.61%) ~ 0.84s 0.85s p=0.070 n=6
Check Time 10.32s (± 0.33%) 10.31s (± 0.47%) ~ 10.22s 10.37s p=0.683 n=6
Emit Time 3.14s (± 0.39%) 3.12s (± 0.71%) ~ 3.10s 3.16s p=0.187 n=6
Total Time 15.94s (± 0.31%) 15.90s (± 0.39%) ~ 15.79s 15.96s p=0.462 n=6
Monaco - node (v14.21.3, x64)
Memory used 341,032k (± 0.00%) 341,015k (± 0.01%) ~ 340,952k 341,058k p=0.423 n=6
Parse Time 2.80s (± 0.44%) 2.81s (± 0.43%) ~ 2.79s 2.82s p=0.868 n=6
Bind Time 1.11s (± 0.73%) 1.11s (± 0.68%) ~ 1.10s 1.12s p=0.306 n=6
Check Time 8.20s (± 0.65%) 8.19s (± 0.30%) ~ 8.16s 8.23s p=0.747 n=6
Emit Time 4.68s (± 0.29%) 4.69s (± 0.78%) ~ 4.64s 4.73s p=0.870 n=6
Total Time 16.80s (± 0.32%) 16.79s (± 0.34%) ~ 16.73s 16.88s p=0.630 n=6
TFS - node (v14.21.3, x64)
Memory used 295,137k (± 0.00%) 295,134k (± 0.00%) ~ 295,128k 295,140k p=0.520 n=6
Parse Time 2.41s (± 1.11%) 2.40s (± 0.72%) ~ 2.38s 2.42s p=0.683 n=6
Bind Time 1.07s (± 0.76%) 1.06s (± 1.58%) ~ 1.04s 1.08s p=0.677 n=6
Check Time 7.61s (± 0.51%) 7.58s (± 0.32%) ~ 7.55s 7.61s p=0.415 n=6
Emit Time 4.34s (± 0.94%) 4.32s (± 0.86%) ~ 4.26s 4.36s p=0.686 n=6
Total Time 15.42s (± 0.56%) 15.37s (± 0.47%) ~ 15.23s 15.42s p=0.374 n=6
material-ui - node (v14.21.3, x64)
Memory used 476,585k (± 0.00%) 476,563k (± 0.01%) ~ 476,521k 476,612k p=0.298 n=6
Parse Time 3.34s (± 0.54%) 3.33s (± 0.58%) ~ 3.31s 3.36s p=0.287 n=6
Bind Time 1.00s (± 0.54%) 1.00s (± 0.75%) ~ 0.99s 1.01s p=0.137 n=6
Check Time 18.71s (± 0.15%) 18.69s (± 0.41%) ~ 18.57s 18.80s p=0.521 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 23.06s (± 0.14%) 23.02s (± 0.32%) ~ 22.89s 23.11s p=0.378 n=6
xstate - node (v14.21.3, x64)
Memory used 549,625k (± 0.00%) 549,629k (± 0.01%) ~ 549,573k 549,669k p=0.810 n=6
Parse Time 4.23s (± 0.73%) 4.22s (± 0.46%) ~ 4.19s 4.24s p=0.572 n=6
Bind Time 1.64s (± 2.70%) 1.61s (± 2.10%) ~ 1.58s 1.66s p=0.290 n=6
Check Time 3.17s (± 0.35%) 3.16s (± 0.58%) ~ 3.14s 3.18s p=0.235 n=6
Emit Time 0.09s (± 5.53%) 0.09s (± 0.00%) ~ 0.09s 0.09s p=0.174 n=6
Total Time 9.14s (± 0.54%) 9.09s (± 0.36%) ~ 9.05s 9.14s p=0.148 n=6
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-148-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.21.3, x64)
Scenarios
  • Angular - node (v18.10.0, x64)
  • Angular - node (v16.17.1, x64)
  • Angular - node (v14.21.3, x64)
  • Compiler-Unions - node (v18.10.0, x64)
  • Compiler-Unions - node (v16.17.1, x64)
  • Compiler-Unions - node (v14.21.3, x64)
  • Monaco - node (v18.10.0, x64)
  • Monaco - node (v16.17.1, x64)
  • Monaco - node (v14.21.3, x64)
  • TFS - node (v18.10.0, x64)
  • TFS - node (v16.17.1, x64)
  • TFS - node (v14.21.3, x64)
  • material-ui - node (v18.10.0, x64)
  • material-ui - node (v16.17.1, x64)
  • material-ui - node (v14.21.3, x64)
  • xstate - node (v18.10.0, x64)
  • xstate - node (v16.17.1, x64)
  • xstate - node (v14.21.3, x64)
Benchmark Name Iterations
Current 54347 6
Baseline main 6

TSServer

Comparison Report - main..54347
Metric main 54347 Delta Best Worst p-value
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,540ms (± 0.30%) 2,536ms (± 0.70%) ~ 2,509ms 2,555ms p=1.000 n=6
Req 2 - geterr 5,560ms (± 0.52%) 5,528ms (± 1.76%) ~ 5,332ms 5,587ms p=0.810 n=6
Req 3 - references 336ms (± 0.93%) 336ms (± 0.82%) ~ 331ms 338ms p=0.935 n=6
Req 4 - navto 286ms (± 0.69%) 287ms (± 1.03%) ~ 284ms 292ms p=0.413 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 85ms (± 0.89%) 84ms (± 4.09%) ~ 77ms 86ms p=0.933 n=6
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,649ms (± 0.57%) 2,654ms (± 1.04%) ~ 2,621ms 2,693ms p=0.873 n=6
Req 2 - geterr 4,265ms (± 1.76%) 4,296ms (± 0.35%) ~ 4,278ms 4,322ms p=0.470 n=6
Req 3 - references 350ms (± 0.51%) 349ms (± 0.76%) ~ 344ms 351ms p=0.324 n=6
Req 4 - navto 293ms (± 0.85%) 291ms (± 0.52%) ~ 289ms 293ms p=0.506 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 (± 5.52%) 68ms (± 5.05%) ~ 63ms 71ms p=0.368 n=6
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 3,083ms (± 0.46%) 3,065ms (± 0.40%) ~ 3,049ms 3,085ms p=0.053 n=6
Req 2 - geterr 1,563ms (± 1.11%) 1,564ms (± 1.04%) ~ 1,542ms 1,581ms p=1.000 n=6
Req 3 - references 114ms (± 1.17%) 114ms (± 1.32%) ~ 113ms 116ms p=0.588 n=6
Req 4 - navto 359ms (± 0.14%) 359ms (± 0.27%) ~ 358ms 360ms p=0.931 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 372ms (± 1.95%) 383ms (± 0.30%) +12ms (+ 3.09%) 382ms 385ms p=0.036 n=6
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,662ms (± 0.56%) 2,652ms (± 0.47%) ~ 2,634ms 2,666ms p=0.199 n=6
Req 2 - geterr 6,034ms (± 0.55%) 6,008ms (± 0.53%) ~ 5,959ms 6,042ms p=0.298 n=6
Req 3 - references 352ms (± 0.73%) 352ms (± 0.66%) ~ 349ms 355ms p=0.808 n=6
Req 4 - navto 291ms (± 1.34%) 288ms (± 0.92%) ~ 286ms 293ms p=0.055 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 (± 0.55%) 92ms (± 0.82%) -1ms (- 1.25%) 91ms 93ms p=0.020 n=6
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,831ms (± 0.96%) 2,822ms (± 0.37%) ~ 2,803ms 2,832ms p=0.688 n=6
Req 2 - geterr 4,662ms (± 0.22%) 4,649ms (± 0.45%) ~ 4,626ms 4,682ms p=0.173 n=6
Req 3 - references 365ms (± 0.74%) 363ms (± 0.47%) ~ 360ms 365ms p=0.256 n=6
Req 4 - navto 286ms (± 1.15%) 287ms (± 0.31%) ~ 286ms 288ms p=0.806 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 (± 0.61%) 67ms (± 0.77%) ~ 67ms 68ms p=0.595 n=6
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 3,206ms (± 0.47%) 3,210ms (± 0.29%) ~ 3,195ms 3,218ms p=0.810 n=6
Req 2 - geterr 1,737ms (± 1.02%) 1,740ms (± 1.11%) ~ 1,712ms 1,762ms p=1.000 n=6
Req 3 - references 123ms (± 2.46%) 125ms (± 6.60%) ~ 120ms 142ms p=1.000 n=6
Req 4 - navto 341ms (± 0.26%) 343ms (± 0.80%) ~ 341ms 348ms p=0.209 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 409ms (± 1.64%) 408ms (± 1.37%) ~ 403ms 417ms p=0.520 n=6
Compiler-UnionsTSServer - node (v14.21.3, x64)
Req 1 - updateOpen 2,803ms (± 0.60%) 2,786ms (± 0.22%) ~ 2,777ms 2,793ms p=0.109 n=6
Req 2 - geterr 6,218ms (± 0.42%) 6,197ms (± 0.81%) ~ 6,151ms 6,264ms p=0.378 n=6
Req 3 - references 363ms (± 0.53%) 363ms (± 0.90%) ~ 359ms 368ms p=0.686 n=6
Req 4 - navto 288ms (± 0.36%) 288ms (± 0.26%) ~ 287ms 289ms p=0.437 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 103ms (± 2.07%) 103ms (± 0.61%) ~ 102ms 104ms p=0.236 n=6
CompilerTSServer - node (v14.21.3, x64)
Req 1 - updateOpen 2,967ms (± 0.71%) 2,958ms (± 0.50%) ~ 2,937ms 2,979ms p=0.261 n=6
Req 2 - geterr 4,553ms (± 0.56%) 4,538ms (± 0.92%) ~ 4,470ms 4,577ms p=0.575 n=6
Req 3 - references 375ms (± 0.46%) 375ms (± 0.62%) ~ 371ms 378ms p=1.000 n=6
Req 4 - navto 298ms (± 0.35%) 297ms (± 0.50%) ~ 294ms 298ms p=0.063 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 77ms (± 3.02%) 75ms (± 1.08%) -2ms (- 2.59%) 74ms 76ms p=0.026 n=6
xstateTSServer - node (v14.21.3, x64)
Req 1 - updateOpen 3,489ms (± 1.61%) 3,524ms (± 0.53%) ~ 3,491ms 3,543ms p=0.378 n=6
Req 2 - geterr 1,846ms (± 0.62%) 1,848ms (± 0.35%) ~ 1,835ms 1,854ms p=0.936 n=6
Req 3 - references 149ms (± 8.00%) 153ms (± 7.46%) ~ 137ms 161ms p=0.627 n=6
Req 4 - navto 394ms (± 1.12%) 396ms (± 1.41%) ~ 390ms 405ms p=0.469 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 428ms (± 1.16%) 431ms (± 0.45%) ~ 428ms 433ms p=0.333 n=6
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-148-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.21.3, x64)
Scenarios
  • Compiler-UnionsTSServer - node (v18.10.0, x64)
  • Compiler-UnionsTSServer - node (v16.17.1, x64)
  • Compiler-UnionsTSServer - node (v14.21.3, x64)
  • CompilerTSServer - node (v18.10.0, x64)
  • CompilerTSServer - node (v16.17.1, x64)
  • CompilerTSServer - node (v14.21.3, x64)
  • xstateTSServer - node (v18.10.0, x64)
  • xstateTSServer - node (v16.17.1, x64)
  • xstateTSServer - node (v14.21.3, x64)
Benchmark Name Iterations
Current 54347 6
Baseline main 6

Startup

Comparison Report - main..54347
Metric main 54347 Delta Best Worst p-value
tsc-startup - node (v16.17.1, x64)
Execution time 141.71ms (± 0.18%) 141.91ms (± 0.18%) +0.19ms (+ 0.14%) 141.05ms 144.56ms p=0.000 n=600
tsserver-startup - node (v16.17.1, x64)
Execution time 220.93ms (± 0.16%) 221.16ms (± 0.16%) +0.23ms (+ 0.10%) 220.13ms 224.95ms p=0.000 n=600
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time 222.10ms (± 0.15%) 222.15ms (± 0.14%) +0.05ms (+ 0.02%) 221.19ms 227.83ms p=0.016 n=600
typescript-startup - node (v16.17.1, x64)
Execution time 203.94ms (± 0.16%) 203.93ms (± 0.17%) ~ 203.21ms 214.25ms p=0.899 n=600
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-148-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 54347 6
Baseline main 6

Developer Information:

Download Benchmark

@typescript-bot
Copy link
Collaborator

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

Everything looks good!

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
Archived in project
Development

Successfully merging this pull request may close these issues.

allow storing results of narrowing of class properties in booleans for further narrowing
4 participants