Skip to content

Infer into recursive mapped type targets #53647

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 4 commits into from
Jul 6, 2023

Conversation

Andarist
Copy link
Contributor

@Andarist Andarist commented Apr 3, 2023

fixes #53650

@@ -2064,7 +2064,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
/** Key is "/path/to/a.ts|/path/to/b.ts". */
var amalgamatedDuplicates: Map<string, DuplicateInfoForFiles> | undefined;
var reverseMappedCache = new Map<string, Type | undefined>();
var inInferTypeForHomomorphicMappedType = false;
Copy link
Contributor Author

Choose a reason for hiding this comment

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

the flag was "global" and thus prevented recursing here just for any type even if source was different or if we'd encounter different targets

const key = source.id + "," + target.id + "," + constraint.id;
if (reverseMappedCache.has(key)) {
return reverseMappedCache.get(key);
const recursionKey = source.id + "," + (target.target || target).id;
Copy link
Contributor Author

Choose a reason for hiding this comment

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

(target.target || target).id bit could theoretically be grabbed from getRecursionIdentity if only we'd add a special branch for mapped types there. I've done a preliminary experiment and it seems that the whole test suite would pass with such a change but at the same time... I know what kind of a type I have here and thus I can compute this key directly instead of going through an abstraction so I decided to stick with this.

@typescript-bot typescript-bot added the For Uncommitted Bug PR for untriaged, rejected, closed or missing bug label Apr 3, 2023
@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 Apr 4, 2023
Copy link
Member

@weswigham weswigham left a comment

Choose a reason for hiding this comment

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

Assuming perf/extended suites are fine, I like this, iirc there was just a test/project which crashed without some kind of stop like this originally, and the globally flag was simply expedient - definitely not complete.

@weswigham
Copy link
Member

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

@typescript-bot
Copy link
Collaborator

typescript-bot commented May 24, 2023

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

@typescript-bot
Copy link
Collaborator

typescript-bot commented May 24, 2023

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

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented May 24, 2023

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

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented May 24, 2023

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

Update: The results are in!

@typescript-bot
Copy link
Collaborator

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

Here they are:

Compiler

Comparison Report - main..53647
Metric main 53647 Delta Best Worst p-value
Angular - node (v18.10.0, x64)
Memory used 365,822k (± 0.01%) 365,801k (± 0.01%) ~ 365,753k 365,826k p=0.471 n=6
Parse Time 3.41s (± 0.60%) 3.43s (± 0.54%) ~ 3.40s 3.45s p=0.292 n=6
Bind Time 1.12s (± 0.75%) 1.12s (± 0.49%) ~ 1.11s 1.12s p=0.855 n=6
Check Time 8.71s (± 0.22%) 8.75s (± 0.43%) +0.04s (+ 0.42%) 8.71s 8.82s p=0.043 n=6
Emit Time 7.44s (± 0.48%) 7.44s (± 0.88%) ~ 7.36s 7.56s p=1.000 n=6
Total Time 20.68s (± 0.26%) 20.73s (± 0.47%) ~ 20.63s 20.91s p=0.377 n=6
Compiler-Unions - node (v18.10.0, x64)
Memory used 191,170k (± 0.03%) 193,046k (± 1.52%) ~ 191,069k 196,954k p=0.810 n=6
Parse Time 1.51s (± 1.53%) 1.50s (± 2.41%) ~ 1.44s 1.54s p=0.744 n=6
Bind Time 0.77s (± 1.05%) 0.77s (± 1.27%) ~ 0.76s 0.79s p=0.604 n=6
Check Time 9.45s (± 0.32%) 9.46s (± 0.48%) ~ 9.41s 9.53s p=0.628 n=6
Emit Time 2.74s (± 0.60%) 2.73s (± 0.71%) ~ 2.71s 2.76s p=0.623 n=6
Total Time 14.47s (± 0.30%) 14.46s (± 0.42%) ~ 14.42s 14.58s p=0.627 n=6
Monaco - node (v18.10.0, x64)
Memory used 346,633k (± 0.01%) 346,619k (± 0.02%) ~ 346,541k 346,694k p=0.630 n=6
Parse Time 2.59s (± 0.94%) 2.61s (± 0.95%) ~ 2.58s 2.64s p=0.126 n=6
Bind Time 1.01s (± 1.37%) 1.01s (± 0.81%) ~ 1.00s 1.02s p=0.605 n=6
Check Time 7.12s (± 0.42%) 7.13s (± 0.51%) ~ 7.07s 7.18s p=0.746 n=6
Emit Time 4.24s (± 0.49%) 4.25s (± 0.80%) ~ 4.21s 4.30s p=1.000 n=6
Total Time 14.95s (± 0.19%) 14.99s (± 0.24%) ~ 14.95s 15.04s p=0.106 n=6
TFS - node (v18.10.0, x64)
Memory used 300,601k (± 0.01%) 300,615k (± 0.01%) ~ 300,555k 300,662k p=0.630 n=6
Parse Time 2.05s (± 1.04%) 2.08s (± 0.66%) +0.03s (+ 1.30%) 2.06s 2.09s p=0.048 n=6
Bind Time 1.14s (± 0.45%) 1.14s (± 0.78%) ~ 1.13s 1.15s p=0.541 n=6
Check Time 6.59s (± 0.24%) 6.59s (± 0.69%) ~ 6.54s 6.67s p=0.455 n=6
Emit Time 3.87s (± 0.89%) 3.85s (± 1.17%) ~ 3.82s 3.94s p=0.468 n=6
Total Time 13.64s (± 0.39%) 13.66s (± 0.55%) ~ 13.58s 13.75s p=0.747 n=6
material-ui - node (v18.10.0, x64)
Memory used 481,765k (± 0.01%) 481,767k (± 0.01%) ~ 481,669k 481,854k p=0.936 n=6
Parse Time 3.11s (± 0.55%) 3.10s (± 0.44%) ~ 3.08s 3.12s p=0.209 n=6
Bind Time 0.92s (± 1.27%) 0.91s (± 0.89%) ~ 0.90s 0.92s p=0.401 n=6
Check Time 16.77s (± 0.52%) 16.79s (± 0.44%) ~ 16.69s 16.89s p=0.630 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 20.79s (± 0.43%) 20.80s (± 0.31%) ~ 20.72s 20.88s p=0.748 n=6
xstate - node (v18.10.0, x64)
Memory used 563,119k (± 0.01%) 563,057k (± 0.02%) ~ 562,884k 563,188k p=0.575 n=6
Parse Time 3.82s (± 0.61%) 3.83s (± 0.66%) ~ 3.79s 3.86s p=0.420 n=6
Bind Time 1.64s (± 0.81%) 1.64s (± 0.74%) ~ 1.62s 1.65s p=0.871 n=6
Check Time 2.81s (± 1.00%) 2.82s (± 0.99%) ~ 2.78s 2.86s p=0.571 n=6
Emit Time 0.08s (± 0.00%) 0.08s (± 0.00%) ~ 0.08s 0.08s p=1.000 n=6
Total Time 8.34s (± 0.40%) 8.37s (± 0.49%) ~ 8.33s 8.44s p=0.809 n=6
Angular - node (v16.17.1, x64)
Memory used 365,232k (± 0.02%) 365,234k (± 0.02%) ~ 365,148k 365,277k p=1.000 n=6
Parse Time 3.55s (± 0.38%) 3.57s (± 0.34%) +0.02s (+ 0.56%) 3.55s 3.58s p=0.039 n=6
Bind Time 1.18s (± 0.71%) 1.19s (± 0.98%) ~ 1.18s 1.21s p=0.652 n=6
Check Time 9.55s (± 0.73%) 9.62s (± 0.76%) ~ 9.53s 9.71s p=0.092 n=6
Emit Time 7.90s (± 1.17%) 7.97s (± 0.72%) ~ 7.89s 8.05s p=0.173 n=6
Total Time 22.19s (± 0.74%) 22.35s (± 0.58%) ~ 22.19s 22.49s p=0.092 n=6
Compiler-Unions - node (v16.17.1, x64)
Memory used 192,891k (± 0.04%) 192,913k (± 0.02%) ~ 192,870k 192,958k p=0.378 n=6
Parse Time 1.60s (± 1.29%) 1.61s (± 0.51%) ~ 1.60s 1.62s p=0.740 n=6
Bind Time 0.82s (± 0.63%) 0.83s (± 0.62%) ~ 0.82s 0.83s p=0.311 n=6
Check Time 10.17s (± 0.44%) 10.19s (± 0.48%) ~ 10.13s 10.26s p=0.518 n=6
Emit Time 3.01s (± 1.37%) 3.00s (± 0.96%) ~ 2.96s 3.04s p=0.627 n=6
Total Time 15.61s (± 0.42%) 15.62s (± 0.27%) ~ 15.56s 15.66s p=0.872 n=6
Monaco - node (v16.17.1, x64)
Memory used 345,866k (± 0.00%) 345,884k (± 0.01%) ~ 345,855k 345,911k p=0.149 n=6
Parse Time 2.74s (± 0.94%) 2.74s (± 0.54%) ~ 2.72s 2.76s p=1.000 n=6
Bind Time 1.09s (± 1.00%) 1.08s (± 1.23%) ~ 1.06s 1.10s p=0.310 n=6
Check Time 7.83s (± 0.86%) 7.84s (± 0.47%) ~ 7.78s 7.87s p=0.520 n=6
Emit Time 4.49s (± 1.02%) 4.47s (± 0.42%) ~ 4.43s 4.48s p=1.000 n=6
Total Time 16.14s (± 0.85%) 16.13s (± 0.27%) ~ 16.07s 16.18s p=0.689 n=6
TFS - node (v16.17.1, x64)
Memory used 299,947k (± 0.00%) 299,959k (± 0.00%) ~ 299,942k 299,972k p=0.172 n=6
Parse Time 2.16s (± 0.62%) 2.17s (± 0.45%) ~ 2.16s 2.18s p=0.249 n=6
Bind Time 1.23s (± 1.08%) 1.24s (± 0.83%) ~ 1.23s 1.26s p=0.087 n=6
Check Time 7.26s (± 0.62%) 7.29s (± 0.49%) ~ 7.23s 7.34s p=0.170 n=6
Emit Time 4.31s (± 0.73%) 4.34s (± 0.95%) ~ 4.30s 4.41s p=0.260 n=6
Total Time 14.96s (± 0.17%) 15.05s (± 0.40%) +0.09s (+ 0.59%) 14.99s 15.12s p=0.005 n=6
material-ui - node (v16.17.1, x64)
Memory used 480,983k (± 0.01%) 480,968k (± 0.00%) ~ 480,944k 480,984k p=0.423 n=6
Parse Time 3.24s (± 0.45%) 3.25s (± 0.36%) ~ 3.24s 3.27s p=0.324 n=6
Bind Time 0.94s (± 0.80%) 0.94s (± 0.86%) ~ 0.94s 0.96s p=0.340 n=6
Check Time 17.87s (± 0.97%) 17.82s (± 0.68%) ~ 17.69s 18.03s p=0.630 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 22.05s (± 0.76%) 22.01s (± 0.58%) ~ 21.87s 22.24s p=0.630 n=6
xstate - node (v16.17.1, x64)
Memory used 560,638k (± 0.02%) 560,651k (± 0.03%) ~ 560,502k 560,942k p=0.810 n=6
Parse Time 3.99s (± 0.31%) 4.01s (± 0.35%) ~ 3.99s 4.03s p=0.087 n=6
Bind Time 1.75s (± 0.29%) 1.76s (± 0.59%) ~ 1.75s 1.78s p=0.070 n=6
Check Time 3.06s (± 0.45%) 3.06s (± 0.70%) ~ 3.03s 3.09s p=0.413 n=6
Emit Time 0.09s (± 0.00%) 0.09s (± 0.00%) ~ 0.09s 0.09s p=1.000 n=6
Total Time 8.89s (± 0.22%) 8.92s (± 0.24%) +0.03s (+ 0.34%) 8.90s 8.95s p=0.030 n=6
Angular - node (v14.21.3, x64)
Memory used 359,191k (± 0.00%) 359,202k (± 0.00%) ~ 359,189k 359,236k p=0.297 n=6
Parse Time 3.68s (± 0.33%) 3.67s (± 0.27%) ~ 3.66s 3.69s p=0.102 n=6
Bind Time 1.21s (± 0.85%) 1.23s (± 1.11%) ~ 1.21s 1.25s p=0.098 n=6
Check Time 10.01s (± 0.70%) 10.01s (± 0.54%) ~ 9.95s 10.08s p=0.936 n=6
Emit Time 8.35s (± 0.65%) 8.38s (± 1.05%) ~ 8.26s 8.50s p=0.521 n=6
Total Time 23.25s (± 0.38%) 23.29s (± 0.57%) ~ 23.12s 23.42s p=0.630 n=6
Compiler-Unions - node (v14.21.3, x64)
Memory used 188,260k (± 0.01%) 188,275k (± 0.01%) ~ 188,242k 188,308k p=0.470 n=6
Parse Time 1.61s (± 0.25%) 1.61s (± 0.61%) ~ 1.60s 1.62s p=0.487 n=6
Bind Time 0.84s (± 0.61%) 0.85s (± 0.61%) ~ 0.84s 0.85s p=0.311 n=6
Check Time 10.28s (± 0.80%) 10.30s (± 0.69%) ~ 10.19s 10.38s p=0.521 n=6
Emit Time 3.13s (± 1.10%) 3.12s (± 0.62%) ~ 3.09s 3.14s p=0.806 n=6
Total Time 15.87s (± 0.66%) 15.88s (± 0.52%) ~ 15.77s 15.98s p=0.748 n=6
Monaco - node (v14.21.3, x64)
Memory used 341,039k (± 0.00%) 341,025k (± 0.00%) ~ 341,006k 341,039k p=0.128 n=6
Parse Time 2.80s (± 0.61%) 2.79s (± 0.37%) ~ 2.78s 2.81s p=0.737 n=6
Bind Time 1.11s (± 0.46%) 1.12s (± 1.08%) ~ 1.10s 1.13s p=0.666 n=6
Check Time 8.18s (± 0.56%) 8.22s (± 0.82%) ~ 8.13s 8.30s p=0.378 n=6
Emit Time 4.70s (± 0.60%) 4.68s (± 0.49%) ~ 4.65s 4.71s p=0.418 n=6
Total Time 16.79s (± 0.23%) 16.81s (± 0.41%) ~ 16.72s 16.89s p=0.572 n=6
TFS - node (v14.21.3, x64)
Memory used 295,136k (± 0.00%) 295,133k (± 0.00%) ~ 295,123k 295,143k p=0.469 n=6
Parse Time 2.39s (± 0.41%) 2.41s (± 0.43%) +0.02s (+ 0.91%) 2.40s 2.43s p=0.013 n=6
Bind Time 1.06s (± 0.49%) 1.06s (± 0.49%) ~ 1.06s 1.07s p=1.000 n=6
Check Time 7.57s (± 0.67%) 7.56s (± 0.59%) ~ 7.51s 7.64s p=0.872 n=6
Emit Time 4.32s (± 1.18%) 4.31s (± 0.60%) ~ 4.28s 4.35s p=0.872 n=6
Total Time 15.35s (± 0.50%) 15.34s (± 0.44%) ~ 15.26s 15.46s p=0.936 n=6
material-ui - node (v14.21.3, x64)
Memory used 476,570k (± 0.00%) 476,561k (± 0.01%) ~ 476,518k 476,616k p=0.297 n=6
Parse Time 3.34s (± 0.44%) 3.34s (± 0.31%) ~ 3.32s 3.35s p=0.605 n=6
Bind Time 1.00s (± 0.98%) 1.00s (± 0.81%) ~ 0.99s 1.01s p=0.383 n=6
Check Time 18.72s (± 0.73%) 18.67s (± 0.32%) ~ 18.59s 18.73s p=0.630 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.65%) 23.00s (± 0.30%) ~ 22.92s 23.07s p=0.688 n=6
xstate - node (v14.21.3, x64)
Memory used 549,596k (± 0.01%) 549,613k (± 0.00%) ~ 549,584k 549,631k p=0.378 n=6
Parse Time 4.26s (± 1.11%) 4.24s (± 0.72%) ~ 4.21s 4.29s p=0.373 n=6
Bind Time 1.59s (± 1.67%) 1.63s (± 3.07%) ~ 1.58s 1.68s p=0.371 n=6
Check Time 3.19s (± 0.59%) 3.20s (± 0.85%) ~ 3.15s 3.23s p=0.259 n=6
Emit Time 0.09s (± 4.45%) 0.09s (± 0.00%) ~ 0.09s 0.09s p=0.405 n=6
Total Time 9.13s (± 0.33%) 9.16s (± 0.94%) ~ 9.05s 9.27s p=0.574 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 53647 6
Baseline main 6

TSServer

Comparison Report - main..53647
Metric main 53647 Delta Best Worst p-value
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,532ms (± 0.38%) 2,545ms (± 0.40%) ~ 2,532ms 2,556ms p=0.108 n=6
Req 2 - geterr 5,541ms (± 0.42%) 5,575ms (± 0.83%) ~ 5,519ms 5,632ms p=0.423 n=6
Req 3 - references 339ms (± 1.15%) 337ms (± 0.22%) ~ 336ms 338ms p=1.000 n=6
Req 4 - navto 289ms (± 1.35%) 286ms (± 0.68%) ~ 284ms 289ms p=0.328 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 (± 1.24%) 85ms (± 1.38%) ~ 83ms 86ms p=0.619 n=6
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,651ms (± 0.37%) 2,628ms (± 0.75%) ~ 2,607ms 2,654ms p=0.066 n=6
Req 2 - geterr 4,290ms (± 0.36%) 4,297ms (± 0.23%) ~ 4,287ms 4,310ms p=0.520 n=6
Req 3 - references 348ms (± 0.53%) 351ms (± 1.08%) ~ 346ms 357ms p=0.222 n=6
Req 4 - navto 291ms (± 0.71%) 292ms (± 0.71%) ~ 289ms 294ms p=0.371 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 63ms (± 0.65%) 64ms (± 4.66%) ~ 62ms 70ms p=0.490 n=6
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 3,057ms (± 0.46%) 3,072ms (± 0.57%) ~ 3,051ms 3,096ms p=0.173 n=6
Req 2 - geterr 1,581ms (± 1.14%) 1,571ms (± 0.78%) ~ 1,559ms 1,592ms p=0.378 n=6
Req 3 - references 112ms (± 0.46%) 113ms (± 0.87%) ~ 112ms 114ms p=0.140 n=6
Req 4 - navto 360ms (± 0.46%) 360ms (± 0.29%) ~ 358ms 361ms p=1.000 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 382ms (± 2.54%) 381ms (± 2.01%) ~ 368ms 389ms p=1.000 n=6
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,663ms (± 0.45%) 2,640ms (± 0.40%) -23ms (- 0.84%) 2,624ms 2,654ms p=0.019 n=6
Req 2 - geterr 6,021ms (± 0.65%) 6,027ms (± 0.67%) ~ 5,974ms 6,085ms p=1.000 n=6
Req 3 - references 350ms (± 0.60%) 351ms (± 0.53%) ~ 349ms 354ms p=0.418 n=6
Req 4 - navto 288ms (± 0.87%) 286ms (± 0.56%) ~ 283ms 287ms p=0.123 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 (± 5.36%) 93ms (± 0.88%) ~ 91ms 93ms p=0.655 n=6
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,836ms (± 0.32%) 2,826ms (± 0.29%) ~ 2,819ms 2,838ms p=0.054 n=6
Req 2 - geterr 4,644ms (± 0.47%) 4,646ms (± 0.15%) ~ 4,637ms 4,656ms p=0.470 n=6
Req 3 - references 364ms (± 0.64%) 366ms (± 0.54%) ~ 363ms 369ms p=0.282 n=6
Req 4 - navto 286ms (± 0.85%) 290ms (± 0.59%) +4ms (+ 1.52%) 287ms 292ms p=0.012 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.77%) 68ms (± 1.24%) ~ 67ms 69ms p=0.923 n=6
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 3,211ms (± 0.18%) 3,211ms (± 0.25%) ~ 3,202ms 3,223ms p=1.000 n=6
Req 2 - geterr 1,732ms (± 0.97%) 1,745ms (± 0.47%) ~ 1,733ms 1,757ms p=0.109 n=6
Req 3 - references 130ms (± 9.25%) 125ms (± 7.02%) ~ 120ms 143ms p=0.224 n=6
Req 4 - navto 342ms (± 0.44%) 342ms (± 0.61%) ~ 339ms 344ms p=0.742 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 419ms (± 1.36%) 412ms (± 1.19%) ~ 405ms 419ms p=0.054 n=6
Compiler-UnionsTSServer - node (v14.21.3, x64)
Req 1 - updateOpen 2,785ms (± 0.15%) 2,786ms (± 0.37%) ~ 2,772ms 2,802ms p=0.873 n=6
Req 2 - geterr 6,157ms (± 0.54%) 6,162ms (± 1.09%) ~ 6,090ms 6,266ms p=0.936 n=6
Req 3 - references 361ms (± 0.73%) 362ms (± 1.43%) ~ 356ms 371ms p=1.000 n=6
Req 4 - navto 289ms (± 0.62%) 291ms (± 0.46%) +2ms (+ 0.75%) 290ms 293ms p=0.048 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 101ms (± 4.57%) 90ms (± 7.42%) 🟩-12ms (-11.35%) 82ms 100ms p=0.020 n=6
CompilerTSServer - node (v14.21.3, x64)
Req 1 - updateOpen 2,963ms (± 0.62%) 2,963ms (± 0.47%) ~ 2,944ms 2,984ms p=0.936 n=6
Req 2 - geterr 4,524ms (± 1.03%) 4,541ms (± 0.47%) ~ 4,511ms 4,570ms p=0.689 n=6
Req 3 - references 375ms (± 0.62%) 377ms (± 0.14%) +3ms (+ 0.71%) 377ms 378ms p=0.021 n=6
Req 4 - navto 298ms (± 0.28%) 298ms (± 0.25%) ~ 297ms 299ms p=0.652 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 (± 2.72%) 77ms (± 3.02%) ~ 76ms 82ms p=0.800 n=6
xstateTSServer - node (v14.21.3, x64)
Req 1 - updateOpen 3,524ms (± 0.57%) 3,517ms (± 1.59%) ~ 3,405ms 3,555ms p=0.471 n=6
Req 2 - geterr 1,845ms (± 0.37%) 1,843ms (± 0.40%) ~ 1,830ms 1,852ms p=0.686 n=6
Req 3 - references 151ms (± 7.21%) 154ms (± 4.87%) ~ 139ms 159ms p=1.000 n=6
Req 4 - navto 393ms (± 0.56%) 392ms (± 0.52%) ~ 389ms 395ms p=0.625 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 432ms (± 0.31%) 430ms (± 1.73%) ~ 416ms 436ms p=1.000 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 53647 6
Baseline main 6

Startup

Comparison Report - main..53647
Metric main 53647 Delta Best Worst p-value
tsc-startup - node (v16.17.1, x64)
Execution time 141.76ms (± 0.23%) 141.54ms (± 0.16%) -0.22ms (- 0.16%) 140.89ms 143.74ms p=0.000 n=600
tsserver-startup - node (v16.17.1, x64)
Execution time 220.74ms (± 0.19%) 220.76ms (± 0.17%) ~ 219.73ms 224.39ms p=0.141 n=600
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time 222.22ms (± 0.16%) 222.16ms (± 0.16%) -0.06ms (- 0.03%) 221.31ms 227.35ms p=0.026 n=600
typescript-startup - node (v16.17.1, x64)
Execution time 203.96ms (± 0.17%) 203.92ms (± 0.16%) ~ 203.13ms 209.64ms p=0.677 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 53647 6
Baseline main 6

Developer Information:

Download Benchmark

@typescript-bot
Copy link
Collaborator

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

@typescript-bot
Copy link
Collaborator

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

Everything looks good!

Andarist added 2 commits June 13, 2023 11:54
…ped-type

# Conflicts:
#	tests/baselines/reference/mappedTypeRecursiveInference.errors.txt
…ped-type

# Conflicts:
#	tests/baselines/reference/mappedTypeRecursiveInference.errors.txt
#	tests/baselines/reference/mappedTypeRecursiveInference.types
@jakebailey
Copy link
Member

@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 27, 2023

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

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jun 27, 2023

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

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jun 27, 2023

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

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jun 27, 2023

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

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jun 27, 2023

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

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jun 27, 2023

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

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jun 27, 2023

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

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jun 27, 2023

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

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Jun 27, 2023

Hey @jakebailey, 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/155703/artifacts?artifactName=tgz&fileId=5A3A41FA4E879F0854A1A0AC73F01580E3D3E2BBF0B585846A48F376727AD80602&fileName=/typescript-5.2.0-insiders.20230627.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/[email protected]".;

@typescript-bot
Copy link
Collaborator

@jakebailey Here are the results of running the user test suite comparing main and refs/pull/53647/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-53647/lib/lib.es2015.collection.d.ts(63,11)
    • /home/vsts/work/1/s/typescript-53647/lib/lib.es2015.iterable.d.ts(162,11)
    • /home/vsts/work/1/s/typescript-53647/lib/lib.es2015.symbol.wellknown.d.ts(140,11)
    • /home/vsts/work/1/s/typescript-53647/lib/lib.es2015.collection.d.ts(63,11)
    • /home/vsts/work/1/s/typescript-53647/lib/lib.es2015.iterable.d.ts(162,11)
    • /home/vsts/work/1/s/typescript-53647/lib/lib.es2015.symbol.wellknown.d.ts(140,11)
    • /home/vsts/work/1/s/typescript-53647/lib/lib.es2015.collection.d.ts(63,11)
    • /home/vsts/work/1/s/typescript-53647/lib/lib.es2015.iterable.d.ts(162,11)
    • /home/vsts/work/1/s/typescript-53647/lib/lib.es2015.symbol.wellknown.d.ts(140,11)
    • /home/vsts/work/1/s/typescript-53647/lib/lib.es2015.collection.d.ts(63,11)
    • /home/vsts/work/1/s/typescript-53647/lib/lib.es2015.iterable.d.ts(162,11)
    • /home/vsts/work/1/s/typescript-53647/lib/lib.es2015.symbol.wellknown.d.ts(140,11)
    • /home/vsts/work/1/s/typescript-53647/lib/lib.es2015.collection.d.ts(63,11)
    • /home/vsts/work/1/s/typescript-53647/lib/lib.es2015.iterable.d.ts(162,11)
    • /home/vsts/work/1/s/typescript-53647/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
Collaborator

@jakebailey Here are the results of running the user test suite comparing main and refs/pull/53647/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..53647
Metric main 53647 Delta Best Worst p-value
Angular - node (v18.10.0, x64)
Memory used 366,749k (± 0.01%) 366,748k (± 0.01%) ~ 366,721k 366,808k p=0.378 n=6
Parse Time 3.42s (± 0.60%) 3.42s (± 0.57%) ~ 3.40s 3.45s p=0.570 n=6
Bind Time 1.12s (± 0.67%) 1.12s (± 0.73%) ~ 1.11s 1.13s p=0.306 n=6
Check Time 8.86s (± 0.22%) 8.85s (± 0.31%) ~ 8.81s 8.88s p=1.000 n=6
Emit Time 7.51s (± 0.58%) 7.47s (± 0.33%) ~ 7.45s 7.52s p=0.126 n=6
Total Time 20.91s (± 0.29%) 20.86s (± 0.20%) ~ 20.79s 20.90s p=0.054 n=6
Compiler-Unions - node (v18.10.0, x64)
Memory used 191,940k (± 1.25%) 191,922k (± 1.22%) ~ 190,924k 196,688k p=0.809 n=6
Parse Time 1.50s (± 0.56%) 1.50s (± 0.81%) ~ 1.48s 1.51s p=0.863 n=6
Bind Time 0.77s (± 0.72%) 0.77s (± 0.67%) ~ 0.76s 0.77s p=0.640 n=6
Check Time 9.45s (± 0.36%) 9.44s (± 0.42%) ~ 9.40s 9.51s p=0.872 n=6
Emit Time 2.76s (± 1.43%) 2.75s (± 1.20%) ~ 2.72s 2.81s p=0.868 n=6
Total Time 14.46s (± 0.30%) 14.46s (± 0.33%) ~ 14.38s 14.51s p=0.809 n=6
Monaco - node (v18.10.0, x64)
Memory used 346,810k (± 0.01%) 346,808k (± 0.01%) ~ 346,761k 346,837k p=0.936 n=6
Parse Time 2.58s (± 0.64%) 2.59s (± 1.06%) ~ 2.56s 2.63s p=1.000 n=6
Bind Time 1.01s (± 0.88%) 1.01s (± 0.97%) ~ 1.00s 1.02s p=0.798 n=6
Check Time 7.17s (± 0.29%) 7.20s (± 0.25%) +0.04s (+ 0.51%) 7.17s 7.22s p=0.019 n=6
Emit Time 4.26s (± 0.81%) 4.25s (± 0.69%) ~ 4.20s 4.27s p=0.466 n=6
Total Time 15.02s (± 0.39%) 15.05s (± 0.38%) ~ 14.98s 15.13s p=0.571 n=6
TFS - node (v18.10.0, x64)
Memory used 300,880k (± 0.01%) 300,872k (± 0.01%) ~ 300,854k 300,907k p=0.422 n=6
Parse Time 2.07s (± 0.84%) 2.06s (± 0.51%) ~ 2.05s 2.08s p=0.413 n=6
Bind Time 1.15s (± 1.31%) 1.14s (± 0.55%) ~ 1.13s 1.15s p=0.591 n=6
Check Time 6.65s (± 0.77%) 6.63s (± 0.21%) ~ 6.61s 6.65s p=0.627 n=6
Emit Time 3.88s (± 0.85%) 3.88s (± 0.39%) ~ 3.86s 3.90s p=1.000 n=6
Total Time 13.74s (± 0.59%) 13.71s (± 0.24%) ~ 13.67s 13.76s p=1.000 n=6
material-ui - node (v18.10.0, x64)
Memory used 482,430k (± 0.01%) 482,445k (± 0.01%) ~ 482,394k 482,543k p=0.572 n=6
Parse Time 3.11s (± 0.51%) 3.13s (± 1.16%) ~ 3.09s 3.19s p=0.685 n=6
Bind Time 0.92s (± 0.89%) 0.92s (± 1.27%) ~ 0.90s 0.93s p=0.738 n=6
Check Time 17.31s (± 0.55%) 17.28s (± 0.57%) ~ 17.20s 17.46s p=0.575 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 21.33s (± 0.45%) 21.32s (± 0.50%) ~ 21.23s 21.50s p=0.873 n=6
xstate - node (v18.10.0, x64)
Memory used 563,569k (± 0.01%) 563,570k (± 0.02%) ~ 563,491k 563,715k p=0.936 n=6
Parse Time 3.81s (± 0.59%) 3.83s (± 0.51%) ~ 3.81s 3.86s p=0.145 n=6
Bind Time 1.64s (± 0.71%) 1.64s (± 0.84%) ~ 1.62s 1.66s p=0.405 n=6
Check Time 2.79s (± 0.67%) 2.79s (± 0.30%) ~ 2.78s 2.80s p=0.452 n=6
Emit Time 0.08s (± 0.00%) 0.08s (± 0.00%) ~ 0.08s 0.08s p=1.000 n=6
Total Time 8.32s (± 0.45%) 8.35s (± 0.31%) ~ 8.31s 8.38s p=0.195 n=6
Angular - node (v16.17.1, x64)
Memory used 366,133k (± 0.01%) 366,137k (± 0.01%) ~ 366,117k 366,177k p=0.423 n=6
Parse Time 3.59s (± 0.33%) 3.58s (± 0.31%) ~ 3.57s 3.60s p=0.095 n=6
Bind Time 1.18s (± 0.44%) 1.18s (± 0.71%) ~ 1.17s 1.19s p=0.533 n=6
Check Time 9.65s (± 0.39%) 9.67s (± 0.34%) ~ 9.64s 9.72s p=0.290 n=6
Emit Time 7.96s (± 0.26%) 8.02s (± 0.61%) +0.06s (+ 0.75%) 7.96s 8.09s p=0.036 n=6
Total Time 22.38s (± 0.26%) 22.45s (± 0.29%) ~ 22.38s 22.56s p=0.145 n=6
Compiler-Unions - node (v16.17.1, x64)
Memory used 192,843k (± 0.02%) 192,799k (± 0.05%) ~ 192,638k 192,871k p=0.423 n=6
Parse Time 1.58s (± 0.77%) 1.58s (± 1.35%) ~ 1.55s 1.60s p=1.000 n=6
Bind Time 0.82s (± 0.63%) 0.82s (± 0.77%) ~ 0.81s 0.83s p=0.386 n=6
Check Time 10.13s (± 0.68%) 10.17s (± 1.04%) ~ 10.01s 10.31s p=0.377 n=6
Emit Time 3.03s (± 0.55%) 3.00s (± 0.93%) ~ 2.96s 3.03s p=0.067 n=6
Total Time 15.56s (± 0.42%) 15.57s (± 0.85%) ~ 15.37s 15.77s p=0.688 n=6
Monaco - node (v16.17.1, x64)
Memory used 346,063k (± 0.01%) 346,066k (± 0.00%) ~ 346,052k 346,076k p=0.810 n=6
Parse Time 2.72s (± 0.28%) 2.74s (± 0.55%) +0.02s (+ 0.61%) 2.72s 2.76s p=0.045 n=6
Bind Time 1.09s (± 0.75%) 1.08s (± 0.50%) ~ 1.08s 1.09s p=0.859 n=6
Check Time 7.87s (± 0.26%) 7.87s (± 0.54%) ~ 7.79s 7.92s p=0.868 n=6
Emit Time 4.47s (± 0.48%) 4.46s (± 0.44%) ~ 4.42s 4.47s p=0.624 n=6
Total Time 16.14s (± 0.17%) 16.15s (± 0.21%) ~ 16.08s 16.17s p=0.373 n=6
TFS - node (v16.17.1, x64)
Memory used 300,214k (± 0.00%) 300,210k (± 0.01%) ~ 300,191k 300,243k p=0.630 n=6
Parse Time 2.17s (± 0.39%) 2.18s (± 0.61%) ~ 2.17s 2.20s p=0.070 n=6
Bind Time 1.24s (± 1.41%) 1.24s (± 0.66%) ~ 1.23s 1.25s p=0.508 n=6
Check Time 7.31s (± 0.47%) 7.34s (± 0.21%) ~ 7.32s 7.36s p=0.089 n=6
Emit Time 4.32s (± 0.43%) 4.36s (± 0.81%) +0.04s (+ 1.04%) 4.31s 4.40s p=0.036 n=6
Total Time 15.03s (± 0.18%) 15.12s (± 0.33%) +0.08s (+ 0.54%) 15.03s 15.17s p=0.030 n=6
material-ui - node (v16.17.1, x64)
Memory used 481,682k (± 0.01%) 481,679k (± 0.01%) ~ 481,593k 481,764k p=0.873 n=6
Parse Time 3.26s (± 0.72%) 3.26s (± 0.36%) ~ 3.24s 3.27s p=0.746 n=6
Bind Time 0.95s (± 0.79%) 0.95s (± 0.79%) ~ 0.94s 0.96s p=1.000 n=6
Check Time 18.25s (± 0.35%) 18.38s (± 0.84%) ~ 18.21s 18.65s p=0.065 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 22.46s (± 0.33%) 22.59s (± 0.65%) ~ 22.43s 22.85s p=0.093 n=6
xstate - node (v16.17.1, x64)
Memory used 561,157k (± 0.02%) 561,246k (± 0.02%) ~ 561,138k 561,346k p=0.230 n=6
Parse Time 4.00s (± 0.32%) 4.01s (± 0.41%) ~ 3.99s 4.03s p=0.164 n=6
Bind Time 1.73s (± 0.57%) 1.74s (± 0.32%) ~ 1.73s 1.74s p=0.322 n=6
Check Time 3.06s (± 0.38%) 3.05s (± 0.52%) ~ 3.03s 3.07s p=0.169 n=6
Emit Time 0.09s (± 0.00%) 0.09s (± 0.00%) ~ 0.09s 0.09s p=1.000 n=6
Total Time 8.88s (± 0.14%) 8.89s (± 0.31%) ~ 8.84s 8.92s p=0.413 n=6
Angular - node (v14.21.3, x64)
Memory used 360,100k (± 0.01%) 360,130k (± 0.01%) ~ 360,096k 360,165k p=0.336 n=6
Parse Time 3.69s (± 0.44%) 3.66s (± 0.24%) -0.03s (- 0.72%) 3.65s 3.67s p=0.011 n=6
Bind Time 1.22s (± 0.33%) 1.22s (± 0.62%) ~ 1.21s 1.23s p=1.000 n=6
Check Time 10.10s (± 0.53%) 10.06s (± 0.41%) ~ 10.02s 10.13s p=0.261 n=6
Emit Time 8.41s (± 1.03%) 8.42s (± 1.07%) ~ 8.33s 8.58s p=0.809 n=6
Total Time 23.43s (± 0.49%) 23.37s (± 0.42%) ~ 23.24s 23.50s p=0.470 n=6
Compiler-Unions - node (v14.21.3, x64)
Memory used 188,144k (± 0.01%) 188,136k (± 0.01%) ~ 188,112k 188,159k p=0.810 n=6
Parse Time 1.62s (± 0.55%) 1.62s (± 0.50%) ~ 1.61s 1.63s p=0.550 n=6
Bind Time 0.84s (± 0.97%) 0.84s (± 0.48%) ~ 0.84s 0.85s p=1.000 n=6
Check Time 10.25s (± 0.65%) 10.24s (± 0.31%) ~ 10.19s 10.28s p=1.000 n=6
Emit Time 3.13s (± 0.62%) 3.15s (± 0.73%) ~ 3.12s 3.18s p=0.145 n=6
Total Time 15.84s (± 0.46%) 15.85s (± 0.30%) ~ 15.79s 15.90s p=0.936 n=6
Monaco - node (v14.21.3, x64)
Memory used 341,192k (± 0.01%) 341,185k (± 0.00%) ~ 341,166k 341,212k p=0.689 n=6
Parse Time 2.80s (± 0.70%) 2.81s (± 0.49%) ~ 2.79s 2.82s p=0.367 n=6
Bind Time 1.11s (± 0.57%) 1.12s (± 0.75%) ~ 1.11s 1.13s p=0.340 n=6
Check Time 8.21s (± 0.59%) 8.17s (± 0.64%) ~ 8.13s 8.27s p=0.125 n=6
Emit Time 4.68s (± 0.56%) 4.68s (± 0.52%) ~ 4.64s 4.71s p=0.935 n=6
Total Time 16.80s (± 0.40%) 16.77s (± 0.34%) ~ 16.72s 16.85s p=0.468 n=6
TFS - node (v14.21.3, x64)
Memory used 295,301k (± 0.00%) 295,310k (± 0.00%) +10k (+ 0.00%) 295,308k 295,316k p=0.005 n=6
Parse Time 2.39s (± 0.98%) 2.40s (± 1.19%) ~ 2.37s 2.43s p=0.743 n=6
Bind Time 1.07s (± 0.48%) 1.07s (± 0.76%) ~ 1.06s 1.08s p=0.929 n=6
Check Time 7.64s (± 0.48%) 7.65s (± 0.68%) ~ 7.60s 7.74s p=1.000 n=6
Emit Time 4.30s (± 0.58%) 4.31s (± 0.79%) ~ 4.24s 4.33s p=0.462 n=6
Total Time 15.41s (± 0.21%) 15.42s (± 0.42%) ~ 15.31s 15.50s p=0.685 n=6
material-ui - node (v14.21.3, x64)
Memory used 477,159k (± 0.00%) 477,150k (± 0.01%) ~ 477,074k 477,187k p=0.689 n=6
Parse Time 3.33s (± 0.45%) 3.34s (± 0.69%) ~ 3.30s 3.37s p=0.464 n=6
Bind Time 1.01s (± 0.81%) 1.00s (± 0.75%) ~ 0.99s 1.01s p=0.383 n=6
Check Time 19.23s (± 0.33%) 19.17s (± 0.31%) ~ 19.10s 19.27s p=0.128 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 23.57s (± 0.28%) 23.51s (± 0.36%) ~ 23.40s 23.64s p=0.199 n=6
xstate - node (v14.21.3, x64)
Memory used 550,177k (± 0.00%) 550,175k (± 0.00%) ~ 550,156k 550,187k p=0.748 n=6
Parse Time 4.22s (± 0.40%) 4.25s (± 0.40%) +0.03s (+ 0.75%) 4.22s 4.27s p=0.017 n=6
Bind Time 1.66s (± 0.96%) 1.66s (± 0.49%) ~ 1.65s 1.67s p=0.618 n=6
Check Time 3.13s (± 0.34%) 3.13s (± 0.66%) ~ 3.11s 3.17s p=0.564 n=6
Emit Time 0.09s (± 0.00%) 0.09s (± 4.45%) ~ 0.09s 0.10s p=0.405 n=6
Total Time 9.10s (± 0.33%) 9.14s (± 0.23%) +0.04s (+ 0.49%) 9.12s 9.18s p=0.036 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 53647 6
Baseline main 6

TSServer

Comparison Report - main..53647
Metric main 53647 Delta Best Worst p-value
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,543ms (± 0.87%) 2,556ms (± 0.70%) ~ 2,520ms 2,567ms p=0.377 n=6
Req 2 - geterr 5,347ms (± 0.49%) 5,347ms (± 0.45%) ~ 5,310ms 5,374ms p=1.000 n=6
Req 3 - references 342ms (± 1.37%) 339ms (± 0.69%) ~ 336ms 342ms p=0.686 n=6
Req 4 - navto 288ms (± 0.41%) 288ms (± 0.42%) ~ 286ms 289ms p=0.868 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 83ms (± 3.77%) 83ms (± 3.00%) ~ 79ms 86ms p=0.871 n=6
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,660ms (± 0.94%) 2,653ms (± 1.92%) ~ 2,614ms 2,748ms p=0.378 n=6
Req 2 - geterr 4,089ms (± 0.34%) 4,094ms (± 0.48%) ~ 4,074ms 4,126ms p=0.872 n=6
Req 3 - references 347ms (± 0.47%) 347ms (± 1.06%) ~ 342ms 352ms p=0.936 n=6
Req 4 - navto 288ms (± 0.60%) 288ms (± 0.92%) ~ 286ms 293ms p=1.000 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 (± 3.01%) 74ms (± 6.81%) ~ 70ms 83ms p=0.802 n=6
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 3,088ms (± 0.30%) 3,104ms (± 0.62%) ~ 3,086ms 3,131ms p=0.109 n=6
Req 2 - geterr 1,596ms (± 0.59%) 1,602ms (± 0.84%) ~ 1,590ms 1,623ms p=0.335 n=6
Req 3 - references 114ms (± 1.45%) 117ms (± 6.27%) ~ 112ms 132ms p=0.290 n=6
Req 4 - navto 371ms (± 1.26%) 371ms (± 0.65%) ~ 368ms 375ms p=0.324 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 380ms (± 1.23%) 379ms (± 1.83%) ~ 367ms 386ms p=0.936 n=6
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,637ms (± 0.44%) 2,638ms (± 1.10%) ~ 2,606ms 2,680ms p=0.807 n=6
Req 2 - geterr 6,036ms (± 0.46%) 6,013ms (± 0.51%) ~ 5,964ms 6,050ms p=0.336 n=6
Req 3 - references 354ms (± 0.40%) 354ms (± 0.58%) ~ 351ms 357ms p=0.871 n=6
Req 4 - navto 283ms (± 0.27%) 286ms (± 1.52%) ~ 282ms 294ms p=0.164 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.42%) 93ms (± 0.90%) ~ 91ms 93ms p=0.383 n=6
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,836ms (± 0.41%) 2,834ms (± 0.51%) ~ 2,820ms 2,852ms p=0.936 n=6
Req 2 - geterr 4,668ms (± 0.53%) 4,670ms (± 0.24%) ~ 4,653ms 4,685ms p=0.873 n=6
Req 3 - references 364ms (± 0.17%) 363ms (± 0.41%) ~ 361ms 365ms p=0.591 n=6
Req 4 - navto 282ms (± 0.89%) 281ms (± 0.83%) ~ 278ms 284ms p=0.681 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 (± 0.00%) 75ms (± 0.84%) ~ 74ms 76ms p=1.000 n=6
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 3,236ms (± 0.35%) 3,241ms (± 0.24%) ~ 3,228ms 3,251ms p=0.336 n=6
Req 2 - geterr 1,738ms (± 0.77%) 1,741ms (± 1.51%) ~ 1,691ms 1,769ms p=0.471 n=6
Req 3 - references 122ms (± 1.31%) 122ms (± 0.96%) ~ 120ms 123ms p=0.867 n=6
Req 4 - navto 354ms (± 0.75%) 353ms (± 0.56%) ~ 349ms 355ms p=0.511 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 411ms (± 1.59%) 410ms (± 2.15%) ~ 402ms 422ms p=0.809 n=6
Compiler-UnionsTSServer - node (v14.21.3, x64)
Req 1 - updateOpen 2,788ms (± 0.53%) 2,799ms (± 0.36%) ~ 2,781ms 2,811ms p=0.335 n=6
Req 2 - geterr 6,180ms (± 0.32%) 6,158ms (± 0.29%) ~ 6,133ms 6,177ms p=0.173 n=6
Req 3 - references 363ms (± 1.01%) 362ms (± 0.73%) ~ 359ms 366ms p=0.683 n=6
Req 4 - navto 292ms (± 0.56%) 292ms (± 0.77%) ~ 290ms 296ms p=0.869 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 100ms (± 4.95%) 101ms (± 6.73%) ~ 87ms 104ms p=0.864 n=6
CompilerTSServer - node (v14.21.3, x64)
Req 1 - updateOpen 2,963ms (± 0.59%) 2,969ms (± 0.29%) ~ 2,955ms 2,979ms p=0.630 n=6
Req 2 - geterr 4,543ms (± 0.36%) 4,537ms (± 0.61%) ~ 4,514ms 4,574ms p=0.689 n=6
Req 3 - references 376ms (± 0.44%) 376ms (± 0.52%) ~ 373ms 378ms p=0.871 n=6
Req 4 - navto 299ms (± 0.35%) 299ms (± 0.18%) ~ 298ms 299ms p=0.663 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.67%) 77ms (± 0.67%) ~ 76ms 77ms p=1.000 n=6
xstateTSServer - node (v14.21.3, x64)
Req 1 - updateOpen 3,455ms (± 0.87%) 3,458ms (± 0.74%) ~ 3,435ms 3,499ms p=0.936 n=6
Req 2 - geterr 1,852ms (± 1.01%) 1,853ms (± 1.10%) ~ 1,836ms 1,889ms p=0.810 n=6
Req 3 - references 155ms (± 5.64%) 146ms (± 7.69%) ~ 132ms 158ms p=0.076 n=6
Req 4 - navto 391ms (± 0.96%) 396ms (± 0.49%) +5ms (+ 1.36%) 395ms 400ms p=0.049 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 440ms (± 1.59%) 434ms (± 1.65%) ~ 426ms 445ms p=0.228 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 53647 6
Baseline main 6

Startup

Comparison Report - main..53647
Metric main 53647 Delta Best Worst p-value
tsc-startup - node (v16.17.1, x64)
Execution time 142.40ms (± 0.23%) 142.75ms (± 0.20%) +0.35ms (+ 0.24%) 141.91ms 147.17ms p=0.000 n=600
tsserver-startup - node (v16.17.1, x64)
Execution time 221.55ms (± 0.21%) 222.37ms (± 0.18%) +0.82ms (+ 0.37%) 221.43ms 227.03ms p=0.000 n=600
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time 222.96ms (± 0.16%) 223.68ms (± 0.16%) +0.72ms (+ 0.32%) 222.71ms 228.56ms p=0.000 n=600
typescript-startup - node (v16.17.1, x64)
Execution time 204.80ms (± 0.17%) 205.99ms (± 0.24%) +1.19ms (+ 0.58%) 204.76ms 210.40ms 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 53647 6
Baseline main 6

Developer Information:

Download Benchmark

@typescript-bot
Copy link
Collaborator

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

Everything looks good!

@typescript-bot
Copy link
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
Collaborator

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

Everything looks good!

@jakebailey
Copy link
Member

Is there anything left here? This is approved and seems to be fine to my eye.

@Andarist
Copy link
Contributor Author

Is there anything left here?

Yes, merging it 😜

@jakebailey
Copy link
Member

Just looking back at this, the variable mentioned above is from #38224; presumably, the test case from that PR still exists and is passing and I haven't been able to find a linked project which shows a perf issue being fixed by it, so I guess things seem safe?

I'm not the assignee so I didn't want to click the green button, but I'm not sure how pressing / safe this one is.

@Andarist
Copy link
Contributor Author

Andarist commented Jul 5, 2023

I definitely won't argue that this is a pressing PR so if you don't feel like merging this, don't feel pressured to do it. I'd consider this one to be on the safer side of things though (especially with Wes' approval) 😉

@ssalbdivad
Copy link

@jakebailey My total lack of context on the underlying changes notwithstanding, I'd still like to take the opportunity to express my appreciation of this work and hopes that the PR will be merged so I can also close the associated issue in ArkType !🙏

@jakebailey
Copy link
Member

I think everyone on the review list is out; I'm gonna click the green button so we can get this tested pre-RC (and it's also a bugfix that does not seem to show any regression in extended testing); if it is a problem I'll "unclick" the green button.

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.

Unable to infer function input type from previous element in nested tuple
6 participants