Skip to content

Remove allowComplexConstraintInference in inferTypes#54815

Merged
jakebailey merged 1 commit intomicrosoft:mainfrom
jakebailey:fix-27244
Aug 15, 2023
Merged

Remove allowComplexConstraintInference in inferTypes#54815
jakebailey merged 1 commit intomicrosoft:mainfrom
jakebailey:fix-27244

Conversation

@jakebailey
Copy link
Copy Markdown
Member

@jakebailey jakebailey commented Jun 28, 2023

Fixes #27244

This TODO was added many many years ago but was never revisited; the tests pass with this removed but I'm curious what the extended test suites say.

@typescript-bot typescript-bot added Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug labels Jun 28, 2023
@jakebailey

This comment was marked as outdated.

@typescript-bot

This comment was marked as outdated.

@typescript-bot

This comment was marked as outdated.

@typescript-bot

This comment was marked as outdated.

@typescript-bot

This comment was marked as outdated.

@typescript-bot

This comment was marked as outdated.

Comment thread src/compiler/checker.ts
// (in addition to the extra stack depth here) which, in turn, can push the already close process over its limit.
// TL;DR: If we ever become generally more memory efficient (or our resource budget ever increases), we should just
// remove this `allowComplexConstraintInference` flag.
allowComplexConstraintInference = false;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

quite wild that it was only ever set to false and never reset back to true 😅

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

It's local to this infer stack, so it's not like the worst thing in the world.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Aaah, makes sense - I missed that this is a closure variable.

Copy link
Copy Markdown
Member

@weswigham weswigham Jun 28, 2023

Choose a reason for hiding this comment

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

Yeah, it was basically used so we'd only explore one level of this kind of inference per infer call. So long as RWC no longer OOMs, we're good. We didn't need this to stop runaway memory utilization, but rather just to reduce it by like 5% because RWC at the time was just above memory limits (and we'd has issues with, eg, UMDWeb and fp-ts OOM'ing consistently) with the added inference, and looking into across-the-board memory utilization, rather than just limiting the most recent change, was painful.

@jakebailey
Copy link
Copy Markdown
Member Author

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

@typescript-bot
Copy link
Copy Markdown
Collaborator

typescript-bot commented Jun 28, 2023

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

Update: The results are in!

@typescript-bot
Copy link
Copy Markdown
Collaborator

typescript-bot commented Jun 28, 2023

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

Update: The results are in!

@typescript-bot
Copy link
Copy Markdown
Collaborator

typescript-bot commented Jun 28, 2023

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

@typescript-bot
Copy link
Copy Markdown
Collaborator

typescript-bot commented Jun 28, 2023

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

Update: The results are in!

@typescript-bot
Copy link
Copy Markdown
Collaborator

typescript-bot commented Jun 28, 2023

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

Update: The results are in!

@typescript-bot
Copy link
Copy Markdown
Collaborator

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

There were infrastructure failures potentially unrelated to your change:

  • 1 instance of "Unknown failure"
  • 1 instance of "Package install failed"

Otherwise...

Something interesting changed - please have a look.

Details

rxjs-src

/mnt/ts_downloads/rxjs-src/build.sh

  • [NEW] error TS2428: All declarations of 'WeakMap' must have identical type parameters.
    • /home/vsts/work/1/s/typescript-54815/lib/lib.es2015.collection.d.ts(63,11)
    • /home/vsts/work/1/s/typescript-54815/lib/lib.es2015.iterable.d.ts(162,11)
    • /home/vsts/work/1/s/typescript-54815/lib/lib.es2015.symbol.wellknown.d.ts(140,11)
    • /home/vsts/work/1/s/typescript-54815/lib/lib.es2015.collection.d.ts(63,11)
    • /home/vsts/work/1/s/typescript-54815/lib/lib.es2015.iterable.d.ts(162,11)
    • /home/vsts/work/1/s/typescript-54815/lib/lib.es2015.symbol.wellknown.d.ts(140,11)
    • /home/vsts/work/1/s/typescript-54815/lib/lib.es2015.collection.d.ts(63,11)
    • /home/vsts/work/1/s/typescript-54815/lib/lib.es2015.iterable.d.ts(162,11)
    • /home/vsts/work/1/s/typescript-54815/lib/lib.es2015.symbol.wellknown.d.ts(140,11)
    • /home/vsts/work/1/s/typescript-54815/lib/lib.es2015.collection.d.ts(63,11)
    • /home/vsts/work/1/s/typescript-54815/lib/lib.es2015.iterable.d.ts(162,11)
    • /home/vsts/work/1/s/typescript-54815/lib/lib.es2015.symbol.wellknown.d.ts(140,11)
    • /home/vsts/work/1/s/typescript-54815/lib/lib.es2015.collection.d.ts(63,11)
    • /home/vsts/work/1/s/typescript-54815/lib/lib.es2015.iterable.d.ts(162,11)
    • /home/vsts/work/1/s/typescript-54815/lib/lib.es2015.symbol.wellknown.d.ts(140,11)
  • [MISSING] error TS2428: All declarations of 'WeakMap' must have identical type parameters.
    • /home/vsts/work/1/s/typescript-main/lib/lib.es2015.collection.d.ts(63,11)
    • /home/vsts/work/1/s/typescript-main/lib/lib.es2015.iterable.d.ts(162,11)
    • /home/vsts/work/1/s/typescript-main/lib/lib.es2015.symbol.wellknown.d.ts(140,11)
    • /home/vsts/work/1/s/typescript-main/lib/lib.es2015.collection.d.ts(63,11)
    • /home/vsts/work/1/s/typescript-main/lib/lib.es2015.iterable.d.ts(162,11)
    • /home/vsts/work/1/s/typescript-main/lib/lib.es2015.symbol.wellknown.d.ts(140,11)
    • /home/vsts/work/1/s/typescript-main/lib/lib.es2015.collection.d.ts(63,11)
    • /home/vsts/work/1/s/typescript-main/lib/lib.es2015.iterable.d.ts(162,11)
    • /home/vsts/work/1/s/typescript-main/lib/lib.es2015.symbol.wellknown.d.ts(140,11)
    • /home/vsts/work/1/s/typescript-main/lib/lib.es2015.collection.d.ts(63,11)
    • /home/vsts/work/1/s/typescript-main/lib/lib.es2015.iterable.d.ts(162,11)
    • /home/vsts/work/1/s/typescript-main/lib/lib.es2015.symbol.wellknown.d.ts(140,11)
    • /home/vsts/work/1/s/typescript-main/lib/lib.es2015.collection.d.ts(63,11)
    • /home/vsts/work/1/s/typescript-main/lib/lib.es2015.iterable.d.ts(162,11)
    • /home/vsts/work/1/s/typescript-main/lib/lib.es2015.symbol.wellknown.d.ts(140,11)

@typescript-bot
Copy link
Copy Markdown
Collaborator

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

Here they are:

Compiler

Comparison Report - main..54815
Metric main 54815 Delta Best Worst p-value
Angular - node (v18.10.0, x64)
Memory used 366,753k (± 0.01%) 366,752k (± 0.01%) ~ 366,711k 366,802k p=0.936 n=6
Parse Time 3.46s (± 0.60%) 3.42s (± 0.51%) -0.03s (- 0.96%) 3.39s 3.44s p=0.035 n=6
Bind Time 1.12s (± 0.67%) 1.12s (± 0.46%) ~ 1.11s 1.12s p=0.241 n=6
Check Time 8.88s (± 0.44%) 8.85s (± 0.34%) ~ 8.83s 8.91s p=0.169 n=6
Emit Time 7.54s (± 0.90%) 7.51s (± 0.47%) ~ 7.46s 7.56s p=0.419 n=6
Total Time 21.00s (± 0.52%) 20.89s (± 0.22%) ~ 20.85s 20.96s p=0.078 n=6
Compiler-Unions - node (v18.10.0, x64)
Memory used 193,823k (± 1.63%) 192,880k (± 1.53%) ~ 190,943k 196,715k p=0.810 n=6
Parse Time 1.50s (± 0.91%) 1.50s (± 0.94%) ~ 1.48s 1.52s p=0.623 n=6
Bind Time 0.77s (± 0.00%) 0.77s (± 0.98%) ~ 0.76s 0.78s p=0.598 n=6
Check Time 9.49s (± 0.82%) 9.43s (± 0.47%) ~ 9.37s 9.49s p=0.077 n=6
Emit Time 2.76s (± 0.68%) 2.76s (± 1.24%) ~ 2.71s 2.80s p=0.808 n=6
Total Time 14.52s (± 0.45%) 14.45s (± 0.27%) ~ 14.40s 14.50s p=0.053 n=6
Monaco - node (v18.10.0, x64)
Memory used 346,806k (± 0.01%) 346,796k (± 0.01%) ~ 346,770k 346,856k p=0.689 n=6
Parse Time 2.60s (± 0.97%) 2.59s (± 0.62%) ~ 2.57s 2.61s p=0.462 n=6
Bind Time 1.01s (± 1.25%) 1.01s (± 1.16%) ~ 1.00s 1.03s p=0.604 n=6
Check Time 7.22s (± 0.48%) 7.16s (± 0.30%) -0.06s (- 0.81%) 7.13s 7.19s p=0.012 n=6
Emit Time 4.26s (± 1.01%) 4.24s (± 0.94%) ~ 4.19s 4.31s p=0.375 n=6
Total Time 15.10s (± 0.64%) 15.01s (± 0.24%) ~ 14.96s 15.06s p=0.092 n=6
TFS - node (v18.10.0, x64)
Memory used 300,881k (± 0.01%) 300,861k (± 0.00%) -20k (- 0.01%) 300,852k 300,870k p=0.045 n=6
Parse Time 2.09s (± 1.16%) 2.06s (± 0.79%) ~ 2.04s 2.09s p=0.120 n=6
Bind Time 1.14s (± 0.73%) 1.14s (± 0.55%) ~ 1.13s 1.15s p=0.340 n=6
Check Time 6.68s (± 0.21%) 6.62s (± 0.44%) -0.07s (- 1.00%) 6.57s 6.65s p=0.005 n=6
Emit Time 3.86s (± 0.69%) 3.85s (± 0.42%) ~ 3.83s 3.87s p=0.466 n=6
Total Time 13.78s (± 0.20%) 13.68s (± 0.14%) -0.11s (- 0.76%) 13.65s 13.70s p=0.005 n=6
material-ui - node (v18.10.0, x64)
Memory used 482,455k (± 0.01%) 482,427k (± 0.01%) ~ 482,368k 482,467k p=0.298 n=6
Parse Time 3.13s (± 0.44%) 3.12s (± 0.44%) -0.02s (- 0.64%) 3.10s 3.13s p=0.046 n=6
Bind Time 0.92s (± 1.44%) 0.92s (± 1.34%) ~ 0.90s 0.93s p=0.432 n=6
Check Time 17.44s (± 0.43%) 17.28s (± 0.72%) -0.16s (- 0.93%) 17.15s 17.46s p=0.030 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 21.50s (± 0.38%) 21.31s (± 0.62%) -0.19s (- 0.88%) 21.15s 21.50s p=0.020 n=6
xstate - node (v18.10.0, x64)
Memory used 563,567k (± 0.02%) 563,634k (± 0.02%) ~ 563,472k 563,779k p=0.173 n=6
Parse Time 3.85s (± 0.75%) 3.85s (± 0.67%) ~ 3.82s 3.88s p=0.871 n=6
Bind Time 1.64s (± 0.50%) 1.64s (± 0.33%) -0.01s (- 0.51%) 1.63s 1.64s p=0.047 n=6
Check Time 2.80s (± 0.93%) 2.79s (± 0.59%) ~ 2.77s 2.81s p=0.376 n=6
Emit Time 0.08s (± 0.00%) 0.08s (± 0.00%) ~ 0.08s 0.08s p=1.000 n=6
Total Time 8.37s (± 0.42%) 8.35s (± 0.35%) ~ 8.30s 8.38s p=0.148 n=6
Angular - node (v16.17.1, x64)
Memory used 366,124k (± 0.01%) 366,114k (± 0.01%) ~ 366,073k 366,158k p=0.689 n=6
Parse Time 3.58s (± 0.23%) 3.58s (± 0.55%) ~ 3.55s 3.61s p=0.199 n=6
Bind Time 1.18s (± 0.44%) 1.18s (± 0.44%) ~ 1.18s 1.19s p=1.000 n=6
Check Time 9.65s (± 0.57%) 9.67s (± 0.30%) ~ 9.62s 9.70s p=0.295 n=6
Emit Time 8.01s (± 0.83%) 7.97s (± 0.38%) ~ 7.93s 8.01s p=0.574 n=6
Total Time 22.42s (± 0.55%) 22.40s (± 0.29%) ~ 22.32s 22.48s p=1.000 n=6
Compiler-Unions - node (v16.17.1, x64)
Memory used 192,825k (± 0.02%) 192,786k (± 0.04%) ~ 192,666k 192,872k p=0.470 n=6
Parse Time 1.60s (± 1.07%) 1.58s (± 1.03%) ~ 1.55s 1.59s p=0.087 n=6
Bind Time 0.83s (± 0.62%) 0.82s (± 1.33%) ~ 0.81s 0.84s p=0.149 n=6
Check Time 10.17s (± 0.56%) 10.12s (± 0.80%) ~ 10.03s 10.27s p=0.089 n=6
Emit Time 3.04s (± 1.18%) 3.02s (± 0.87%) ~ 2.99s 3.05s p=0.369 n=6
Total Time 15.63s (± 0.54%) 15.54s (± 0.54%) ~ 15.43s 15.68s p=0.065 n=6
Monaco - node (v16.17.1, x64)
Memory used 346,064k (± 0.01%) 346,073k (± 0.01%) ~ 346,053k 346,105k p=0.936 n=6
Parse Time 2.74s (± 0.45%) 2.74s (± 0.23%) ~ 2.73s 2.75s p=0.403 n=6
Bind Time 1.09s (± 0.00%) 1.09s (± 0.69%) ~ 1.08s 1.10s p=0.598 n=6
Check Time 7.89s (± 0.38%) 7.87s (± 0.53%) ~ 7.82s 7.93s p=0.258 n=6
Emit Time 4.48s (± 0.61%) 4.45s (± 0.23%) ~ 4.44s 4.47s p=0.071 n=6
Total Time 16.21s (± 0.27%) 16.15s (± 0.32%) ~ 16.09s 16.21s p=0.077 n=6
TFS - node (v16.17.1, x64)
Memory used 300,215k (± 0.01%) 300,211k (± 0.01%) ~ 300,179k 300,233k p=0.688 n=6
Parse Time 2.19s (± 0.75%) 2.18s (± 0.67%) ~ 2.16s 2.20s p=0.286 n=6
Bind Time 1.24s (± 0.83%) 1.24s (± 0.98%) ~ 1.22s 1.25s p=0.408 n=6
Check Time 7.35s (± 0.61%) 7.34s (± 0.51%) ~ 7.28s 7.38s p=1.000 n=6
Emit Time 4.35s (± 0.51%) 4.36s (± 0.72%) ~ 4.30s 4.38s p=0.368 n=6
Total Time 15.14s (± 0.59%) 15.12s (± 0.29%) ~ 15.05s 15.16s p=1.000 n=6
material-ui - node (v16.17.1, x64)
Memory used 481,706k (± 0.01%) 481,705k (± 0.01%) ~ 481,685k 481,745k p=0.747 n=6
Parse Time 3.27s (± 0.27%) 3.26s (± 0.49%) ~ 3.25s 3.29s p=0.219 n=6
Bind Time 0.96s (± 0.54%) 0.95s (± 1.15%) ~ 0.94s 0.97s p=0.149 n=6
Check Time 18.34s (± 0.65%) 18.31s (± 0.41%) ~ 18.20s 18.42s p=1.000 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 22.56s (± 0.56%) 22.52s (± 0.42%) ~ 22.39s 22.66s p=0.747 n=6
xstate - node (v16.17.1, x64)
Memory used 561,181k (± 0.02%) 561,111k (± 0.01%) ~ 561,048k 561,227k p=0.298 n=6
Parse Time 4.03s (± 0.44%) 4.01s (± 0.52%) ~ 3.99s 4.04s p=0.124 n=6
Bind Time 1.75s (± 0.60%) 1.74s (± 0.47%) ~ 1.73s 1.75s p=0.181 n=6
Check Time 3.06s (± 0.48%) 3.05s (± 0.32%) ~ 3.04s 3.06s p=0.247 n=6
Emit Time 0.09s (± 4.45%) 0.09s (± 0.00%) ~ 0.09s 0.09s p=0.405 n=6
Total Time 8.93s (± 0.15%) 8.88s (± 0.26%) -0.05s (- 0.50%) 8.86s 8.92s p=0.012 n=6
Angular - node (v14.21.3, x64)
Memory used 360,100k (± 0.01%) 360,129k (± 0.01%) ~ 360,102k 360,168k p=0.173 n=6
Parse Time 3.68s (± 0.53%) 3.69s (± 0.69%) ~ 3.67s 3.74s p=0.459 n=6
Bind Time 1.23s (± 0.98%) 1.22s (± 0.52%) ~ 1.21s 1.23s p=0.059 n=6
Check Time 10.11s (± 0.38%) 10.10s (± 0.39%) ~ 10.05s 10.15s p=1.000 n=6
Emit Time 8.42s (± 0.68%) 8.39s (± 1.19%) ~ 8.26s 8.54s p=0.520 n=6
Total Time 23.43s (± 0.33%) 23.40s (± 0.59%) ~ 23.24s 23.64s p=0.335 n=6
Compiler-Unions - node (v14.21.3, x64)
Memory used 188,155k (± 0.01%) 188,132k (± 0.01%) ~ 188,117k 188,157k p=0.065 n=6
Parse Time 1.63s (± 0.50%) 1.62s (± 0.39%) ~ 1.61s 1.63s p=0.177 n=6
Bind Time 0.85s (± 0.00%) 0.85s (± 0.89%) ~ 0.84s 0.86s p=0.598 n=6
Check Time 10.34s (± 0.45%) 10.28s (± 0.73%) ~ 10.14s 10.34s p=0.107 n=6
Emit Time 3.14s (± 0.81%) 3.15s (± 1.07%) ~ 3.10s 3.19s p=0.462 n=6
Total Time 15.95s (± 0.33%) 15.90s (± 0.58%) ~ 15.72s 15.98s p=0.261 n=6
Monaco - node (v14.21.3, x64)
Memory used 341,191k (± 0.01%) 341,193k (± 0.00%) ~ 341,171k 341,210k p=0.688 n=6
Parse Time 2.83s (± 0.55%) 2.82s (± 0.39%) ~ 2.81s 2.84s p=0.187 n=6
Bind Time 1.11s (± 0.73%) 1.11s (± 0.88%) ~ 1.10s 1.13s p=0.673 n=6
Check Time 8.25s (± 0.37%) 8.21s (± 0.52%) ~ 8.15s 8.26s p=0.127 n=6
Emit Time 4.71s (± 0.78%) 4.71s (± 0.57%) ~ 4.67s 4.75s p=1.000 n=6
Total Time 16.90s (± 0.34%) 16.85s (± 0.16%) ~ 16.82s 16.88s p=0.147 n=6
TFS - node (v14.21.3, x64)
Memory used 295,306k (± 0.00%) 295,303k (± 0.00%) ~ 295,297k 295,309k p=0.470 n=6
Parse Time 2.41s (± 0.93%) 2.40s (± 1.21%) ~ 2.36s 2.44s p=0.685 n=6
Bind Time 1.07s (± 0.48%) 1.07s (± 0.76%) ~ 1.06s 1.08s p=0.929 n=6
Check Time 7.65s (± 0.36%) 7.64s (± 0.44%) ~ 7.60s 7.69s p=0.374 n=6
Emit Time 4.31s (± 0.78%) 4.32s (± 2.06%) ~ 4.26s 4.50s p=0.628 n=6
Total Time 15.43s (± 0.46%) 15.43s (± 0.74%) ~ 15.32s 15.63s p=0.521 n=6
material-ui - node (v14.21.3, x64)
Memory used 477,166k (± 0.00%) 477,161k (± 0.00%) ~ 477,128k 477,190k p=0.630 n=6
Parse Time 3.36s (± 0.42%) 3.34s (± 0.24%) -0.02s (- 0.69%) 3.33s 3.35s p=0.014 n=6
Bind Time 1.01s (± 0.00%) 1.01s (± 0.51%) ~ 1.00s 1.01s p=0.174 n=6
Check Time 19.40s (± 0.72%) 19.20s (± 0.33%) -0.20s (- 1.03%) 19.14s 19.30s p=0.020 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 23.77s (± 0.60%) 23.55s (± 0.29%) -0.22s (- 0.95%) 23.48s 23.66s p=0.020 n=6
xstate - node (v14.21.3, x64)
Memory used 550,174k (± 0.01%) 550,172k (± 0.00%) ~ 550,135k 550,201k p=1.000 n=6
Parse Time 4.25s (± 0.18%) 4.24s (± 0.42%) ~ 4.21s 4.25s p=0.231 n=6
Bind Time 1.68s (± 1.15%) 1.66s (± 1.01%) ~ 1.65s 1.69s p=0.080 n=6
Check Time 3.14s (± 0.66%) 3.15s (± 0.97%) ~ 3.11s 3.19s p=0.518 n=6
Emit Time 0.09s (± 0.00%) 0.09s (± 4.45%) ~ 0.09s 0.10s p=0.405 n=6
Total Time 9.15s (± 0.32%) 9.13s (± 0.29%) ~ 9.09s 9.17s p=0.199 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 54815 6
Baseline main 6

TSServer

Comparison Report - main..54815
Metric main 54815 Delta Best Worst p-value
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,575ms (± 0.93%) 2,570ms (± 0.44%) ~ 2,555ms 2,579ms p=0.872 n=6
Req 2 - geterr 5,373ms (± 0.79%) 5,355ms (± 0.99%) ~ 5,300ms 5,448ms p=0.471 n=6
Req 3 - references 342ms (± 1.15%) 341ms (± 0.39%) ~ 339ms 342ms p=0.805 n=6
Req 4 - navto 288ms (± 0.42%) 289ms (± 1.27%) ~ 286ms 296ms 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 82ms (± 3.73%) 83ms (± 3.03%) ~ 80ms 86ms p=0.871 n=6
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,655ms (± 1.15%) 2,655ms (± 1.12%) ~ 2,625ms 2,704ms p=0.873 n=6
Req 2 - geterr 4,136ms (± 1.98%) 4,088ms (± 0.40%) ~ 4,062ms 4,111ms p=0.173 n=6
Req 3 - references 349ms (± 0.97%) 348ms (± 0.87%) ~ 344ms 351ms p=0.466 n=6
Req 4 - navto 287ms (± 0.41%) 288ms (± 0.41%) ~ 287ms 290ms p=0.070 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 71ms (± 1.26%) 74ms (± 3.30%) ~ 71ms 76ms p=0.084 n=6
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 3,112ms (± 0.40%) 3,106ms (± 0.68%) ~ 3,080ms 3,143ms p=0.377 n=6
Req 2 - geterr 1,604ms (± 0.64%) 1,588ms (± 0.36%) -16ms (- 0.97%) 1,579ms 1,596ms p=0.020 n=6
Req 3 - references 112ms (± 0.92%) 113ms (± 1.45%) ~ 111ms 115ms p=0.869 n=6
Req 4 - navto 370ms (± 0.44%) 369ms (± 0.23%) ~ 367ms 369ms p=0.067 n=6
Req 5 - completionInfo count 2,872 (± 0.00%) 2,872 (± 0.00%) ~ 2,872 2,872 p=1.000 n=6
Req 5 - completionInfo 378ms (± 1.50%) 379ms (± 2.85%) ~ 367ms 396ms p=0.936 n=6
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,669ms (± 1.42%) 2,651ms (± 0.24%) ~ 2,642ms 2,659ms p=0.575 n=6
Req 2 - geterr 5,988ms (± 1.75%) 6,019ms (± 0.36%) ~ 5,981ms 6,040ms p=0.936 n=6
Req 3 - references 354ms (± 0.43%) 354ms (± 0.34%) ~ 352ms 355ms p=1.000 n=6
Req 4 - navto 285ms (± 0.69%) 288ms (± 1.69%) ~ 283ms 294ms p=0.516 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 89ms (± 8.89%) 92ms (± 1.27%) ~ 91ms 94ms p=1.000 n=6
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,853ms (± 0.69%) 2,839ms (± 0.59%) ~ 2,827ms 2,871ms p=0.228 n=6
Req 2 - geterr 4,680ms (± 0.37%) 4,667ms (± 0.32%) ~ 4,648ms 4,692ms p=0.173 n=6
Req 3 - references 365ms (± 0.48%) 365ms (± 0.57%) ~ 361ms 367ms p=0.625 n=6
Req 4 - navto 285ms (± 0.52%) 282ms (± 0.62%) -3ms (- 0.99%) 279ms 284ms p=0.018 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 75ms (± 1.19%) 76ms (± 0.72%) ~ 75ms 76ms p=0.341 n=6
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 3,266ms (± 0.73%) 3,230ms (± 0.22%) -36ms (- 1.10%) 3,217ms 3,237ms p=0.045 n=6
Req 2 - geterr 1,751ms (± 1.13%) 1,747ms (± 0.90%) ~ 1,720ms 1,762ms p=0.872 n=6
Req 3 - references 127ms (± 6.77%) 123ms (± 1.77%) ~ 120ms 125ms p=0.677 n=6
Req 4 - navto 357ms (± 0.72%) 352ms (± 0.53%) -5ms (- 1.49%) 349ms 354ms p=0.010 n=6
Req 5 - completionInfo count 2,872 (± 0.00%) 2,872 (± 0.00%) ~ 2,872 2,872 p=1.000 n=6
Req 5 - completionInfo 410ms (± 1.80%) 410ms (± 2.12%) ~ 401ms 420ms p=0.809 n=6
Compiler-UnionsTSServer - node (v14.21.3, x64)
Req 1 - updateOpen 2,822ms (± 0.59%) 2,791ms (± 0.57%) -31ms (- 1.09%) 2,763ms 2,808ms p=0.013 n=6
Req 2 - geterr 6,211ms (± 0.45%) 6,178ms (± 0.48%) ~ 6,153ms 6,234ms p=0.078 n=6
Req 3 - references 361ms (± 0.67%) 362ms (± 0.76%) ~ 359ms 367ms p=0.549 n=6
Req 4 - navto 292ms (± 0.40%) 292ms (± 0.59%) ~ 290ms 295ms p=0.933 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 102ms (± 6.17%) 102ms (± 4.08%) ~ 94ms 105ms p=1.000 n=6
CompilerTSServer - node (v14.21.3, x64)
Req 1 - updateOpen 2,990ms (± 0.45%) 2,973ms (± 0.76%) ~ 2,953ms 3,012ms p=0.108 n=6
Req 2 - geterr 4,556ms (± 0.61%) 4,532ms (± 0.22%) ~ 4,517ms 4,542ms p=0.109 n=6
Req 3 - references 377ms (± 0.52%) 377ms (± 1.05%) ~ 370ms 381ms p=0.469 n=6
Req 4 - navto 300ms (± 0.49%) 298ms (± 0.62%) ~ 295ms 300ms p=0.103 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 (± 0.53%) 77ms (± 1.35%) ~ 75ms 78ms p=0.924 n=6
xstateTSServer - node (v14.21.3, x64)
Req 1 - updateOpen 3,491ms (± 0.72%) 3,484ms (± 0.35%) ~ 3,473ms 3,506ms p=0.630 n=6
Req 2 - geterr 1,856ms (± 1.09%) 1,850ms (± 0.33%) ~ 1,842ms 1,859ms p=0.630 n=6
Req 3 - references 152ms (± 6.75%) 146ms (± 7.73%) ~ 138ms 161ms p=0.687 n=6
Req 4 - navto 397ms (± 0.37%) 394ms (± 1.15%) ~ 385ms 397ms p=0.211 n=6
Req 5 - completionInfo count 2,872 (± 0.00%) 2,872 (± 0.00%) ~ 2,872 2,872 p=1.000 n=6
Req 5 - completionInfo 432ms (± 2.81%) 437ms (± 0.81%) ~ 434ms 442ms p=0.196 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 54815 6
Baseline main 6

Startup

Comparison Report - main..54815
Metric main 54815 Delta Best Worst p-value
tsc-startup - node (v16.17.1, x64)
Execution time 143.72ms (± 0.39%) 142.68ms (± 0.19%) -1.04ms (- 0.72%) 142.03ms 146.07ms p=0.000 n=600
tsserver-startup - node (v16.17.1, x64)
Execution time 225.73ms (± 0.51%) 222.50ms (± 0.17%) -3.22ms (- 1.43%) 221.30ms 226.64ms p=0.000 n=600
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time 226.13ms (± 0.40%) 223.68ms (± 0.14%) -2.44ms (- 1.08%) 222.89ms 227.30ms p=0.000 n=600
typescript-startup - node (v16.17.1, x64)
Execution time 207.95ms (± 0.41%) 205.58ms (± 0.17%) -2.38ms (- 1.14%) 204.76ms 212.67ms p=0.000 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 54815 6
Baseline main 6

Developer Information:

Download Benchmark

@typescript-bot
Copy link
Copy Markdown
Collaborator

Hey @jakebailey, the results of running the DT tests are ready.
Everything looks the same!
You can check the log here.

@typescript-bot
Copy link
Copy Markdown
Collaborator

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

Everything looks good!

@jakebailey jakebailey marked this pull request as ready for review June 28, 2023 19:30
@typescript-bot typescript-bot added For Backlog Bug PRs that fix a backlog bug and removed For Uncommitted Bug PR for untriaged, rejected, closed or missing bug labels Jun 28, 2023
@jakebailey
Copy link
Copy Markdown
Member Author

Seems like everything passes? Even RWC? Probably not a good idea to stick post-beta though.

@jakebailey jakebailey requested a review from weswigham June 28, 2023 19:30
@jakebailey jakebailey closed this Aug 15, 2023
@jakebailey jakebailey reopened this Aug 15, 2023
@jakebailey
Copy link
Copy Markdown
Member Author

Merging, since it's early 5.3 and I feel safer doing so.

@jakebailey jakebailey merged commit defb504 into microsoft:main Aug 15, 2023
@jakebailey jakebailey deleted the fix-27244 branch August 15, 2023 15:54
snovader pushed a commit to EG-A-S/TypeScript that referenced this pull request Sep 23, 2023
@microsoft microsoft locked as resolved and limited conversation to collaborators Oct 22, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Author: Team For Backlog Bug PRs that fix a backlog bug

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

Revert #27225 when possible

5 participants