Skip to content

Infer into recursive mapped type targets - #53647

Merged
Jake Bailey (jakebailey) merged 4 commits into
microsoft:mainfrom
Andarist:fix/infer-to-same-mapped-type
Jul 6, 2023
Merged

Infer into recursive mapped type targets#53647
Jake Bailey (jakebailey) merged 4 commits into
microsoft:mainfrom
Andarist:fix/infer-to-same-mapped-type

Conversation

@Andarist

@AndaristMateusz Burzyński (Andarist) commented Apr 3, 2023

Copy link
Copy Markdown
Contributor

fixes#53650

/** 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
Copy Markdown
ContributorAuthor

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
Copy Markdown
ContributorAuthor

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-botTypeScript Bot (typescript-bot) added the For Uncommitted Bug PR for untriaged, rejected, closed or missing bug label Apr 3, 2023

Copy link
Copy Markdown
Member

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
Copy Markdown
Member

@typescript-bot

TypeScript Bot (typescript-bot) commented May 24, 2023

Copy link
Copy Markdown
Contributor

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

@typescript-bot

TypeScript Bot (typescript-bot) commented May 24, 2023

Copy link
Copy Markdown
Contributor

Heya Wesley Wigham (@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

TypeScript Bot (typescript-bot) commented May 24, 2023

Copy link
Copy Markdown
Contributor

Heya Wesley Wigham (@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

TypeScript Bot (typescript-bot) commented May 24, 2023

Copy link
Copy Markdown
Contributor

Heya Wesley Wigham (@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
Copy Markdown
Contributor

Wesley Wigham (@weswigham)
The results of the perf run you requested are in!

Here they are:

Compiler

Comparison Report - main..53647
Metricmain53647DeltaBestWorstp-value
Angular - node (v18.10.0, x64)
Memory used365,822k (± 0.01%)365,801k (± 0.01%)~365,753k365,826kp=0.471 n=6
Parse Time3.41s (± 0.60%)3.43s (± 0.54%)~3.40s3.45sp=0.292 n=6
Bind Time1.12s (± 0.75%)1.12s (± 0.49%)~1.11s1.12sp=0.855 n=6
Check Time8.71s (± 0.22%)8.75s (± 0.43%)+0.04s (+ 0.42%)8.71s8.82sp=0.043 n=6
Emit Time7.44s (± 0.48%)7.44s (± 0.88%)~7.36s7.56sp=1.000 n=6
Total Time20.68s (± 0.26%)20.73s (± 0.47%)~20.63s20.91sp=0.377 n=6
Compiler-Unions - node (v18.10.0, x64)
Memory used191,170k (± 0.03%)193,046k (± 1.52%)~191,069k196,954kp=0.810 n=6
Parse Time1.51s (± 1.53%)1.50s (± 2.41%)~1.44s1.54sp=0.744 n=6
Bind Time0.77s (± 1.05%)0.77s (± 1.27%)~0.76s0.79sp=0.604 n=6
Check Time9.45s (± 0.32%)9.46s (± 0.48%)~9.41s9.53sp=0.628 n=6
Emit Time2.74s (± 0.60%)2.73s (± 0.71%)~2.71s2.76sp=0.623 n=6
Total Time14.47s (± 0.30%)14.46s (± 0.42%)~14.42s14.58sp=0.627 n=6
Monaco - node (v18.10.0, x64)
Memory used346,633k (± 0.01%)346,619k (± 0.02%)~346,541k346,694kp=0.630 n=6
Parse Time2.59s (± 0.94%)2.61s (± 0.95%)~2.58s2.64sp=0.126 n=6
Bind Time1.01s (± 1.37%)1.01s (± 0.81%)~1.00s1.02sp=0.605 n=6
Check Time7.12s (± 0.42%)7.13s (± 0.51%)~7.07s7.18sp=0.746 n=6
Emit Time4.24s (± 0.49%)4.25s (± 0.80%)~4.21s4.30sp=1.000 n=6
Total Time14.95s (± 0.19%)14.99s (± 0.24%)~14.95s15.04sp=0.106 n=6
TFS - node (v18.10.0, x64)
Memory used300,601k (± 0.01%)300,615k (± 0.01%)~300,555k300,662kp=0.630 n=6
Parse Time2.05s (± 1.04%)2.08s (± 0.66%)+0.03s (+ 1.30%)2.06s2.09sp=0.048 n=6
Bind Time1.14s (± 0.45%)1.14s (± 0.78%)~1.13s1.15sp=0.541 n=6
Check Time6.59s (± 0.24%)6.59s (± 0.69%)~6.54s6.67sp=0.455 n=6
Emit Time3.87s (± 0.89%)3.85s (± 1.17%)~3.82s3.94sp=0.468 n=6
Total Time13.64s (± 0.39%)13.66s (± 0.55%)~13.58s13.75sp=0.747 n=6
material-ui - node (v18.10.0, x64)
Memory used481,765k (± 0.01%)481,767k (± 0.01%)~481,669k481,854kp=0.936 n=6
Parse Time3.11s (± 0.55%)3.10s (± 0.44%)~3.08s3.12sp=0.209 n=6
Bind Time0.92s (± 1.27%)0.91s (± 0.89%)~0.90s0.92sp=0.401 n=6
Check Time16.77s (± 0.52%)16.79s (± 0.44%)~16.69s16.89sp=0.630 n=6
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)~0.00s0.00sp=1.000 n=6
Total Time20.79s (± 0.43%)20.80s (± 0.31%)~20.72s20.88sp=0.748 n=6
xstate - node (v18.10.0, x64)
Memory used563,119k (± 0.01%)563,057k (± 0.02%)~562,884k563,188kp=0.575 n=6
Parse Time3.82s (± 0.61%)3.83s (± 0.66%)~3.79s3.86sp=0.420 n=6
Bind Time1.64s (± 0.81%)1.64s (± 0.74%)~1.62s1.65sp=0.871 n=6
Check Time2.81s (± 1.00%)2.82s (± 0.99%)~2.78s2.86sp=0.571 n=6
Emit Time0.08s (± 0.00%)0.08s (± 0.00%)~0.08s0.08sp=1.000 n=6
Total Time8.34s (± 0.40%)8.37s (± 0.49%)~8.33s8.44sp=0.809 n=6
Angular - node (v16.17.1, x64)
Memory used365,232k (± 0.02%)365,234k (± 0.02%)~365,148k365,277kp=1.000 n=6
Parse Time3.55s (± 0.38%)3.57s (± 0.34%)+0.02s (+ 0.56%)3.55s3.58sp=0.039 n=6
Bind Time1.18s (± 0.71%)1.19s (± 0.98%)~1.18s1.21sp=0.652 n=6
Check Time9.55s (± 0.73%)9.62s (± 0.76%)~9.53s9.71sp=0.092 n=6
Emit Time7.90s (± 1.17%)7.97s (± 0.72%)~7.89s8.05sp=0.173 n=6
Total Time22.19s (± 0.74%)22.35s (± 0.58%)~22.19s22.49sp=0.092 n=6
Compiler-Unions - node (v16.17.1, x64)
Memory used192,891k (± 0.04%)192,913k (± 0.02%)~192,870k192,958kp=0.378 n=6
Parse Time1.60s (± 1.29%)1.61s (± 0.51%)~1.60s1.62sp=0.740 n=6
Bind Time0.82s (± 0.63%)0.83s (± 0.62%)~0.82s0.83sp=0.311 n=6
Check Time10.17s (± 0.44%)10.19s (± 0.48%)~10.13s10.26sp=0.518 n=6
Emit Time3.01s (± 1.37%)3.00s (± 0.96%)~2.96s3.04sp=0.627 n=6
Total Time15.61s (± 0.42%)15.62s (± 0.27%)~15.56s15.66sp=0.872 n=6
Monaco - node (v16.17.1, x64)
Memory used345,866k (± 0.00%)345,884k (± 0.01%)~345,855k345,911kp=0.149 n=6
Parse Time2.74s (± 0.94%)2.74s (± 0.54%)~2.72s2.76sp=1.000 n=6
Bind Time1.09s (± 1.00%)1.08s (± 1.23%)~1.06s1.10sp=0.310 n=6
Check Time7.83s (± 0.86%)7.84s (± 0.47%)~7.78s7.87sp=0.520 n=6
Emit Time4.49s (± 1.02%)4.47s (± 0.42%)~4.43s4.48sp=1.000 n=6
Total Time16.14s (± 0.85%)16.13s (± 0.27%)~16.07s16.18sp=0.689 n=6
TFS - node (v16.17.1, x64)
Memory used299,947k (± 0.00%)299,959k (± 0.00%)~299,942k299,972kp=0.172 n=6
Parse Time2.16s (± 0.62%)2.17s (± 0.45%)~2.16s2.18sp=0.249 n=6
Bind Time1.23s (± 1.08%)1.24s (± 0.83%)~1.23s1.26sp=0.087 n=6
Check Time7.26s (± 0.62%)7.29s (± 0.49%)~7.23s7.34sp=0.170 n=6
Emit Time4.31s (± 0.73%)4.34s (± 0.95%)~4.30s4.41sp=0.260 n=6
Total Time14.96s (± 0.17%)15.05s (± 0.40%)+0.09s (+ 0.59%)14.99s15.12sp=0.005 n=6
material-ui - node (v16.17.1, x64)
Memory used480,983k (± 0.01%)480,968k (± 0.00%)~480,944k480,984kp=0.423 n=6
Parse Time3.24s (± 0.45%)3.25s (± 0.36%)~3.24s3.27sp=0.324 n=6
Bind Time0.94s (± 0.80%)0.94s (± 0.86%)~0.94s0.96sp=0.340 n=6
Check Time17.87s (± 0.97%)17.82s (± 0.68%)~17.69s18.03sp=0.630 n=6
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)~0.00s0.00sp=1.000 n=6
Total Time22.05s (± 0.76%)22.01s (± 0.58%)~21.87s22.24sp=0.630 n=6
xstate - node (v16.17.1, x64)
Memory used560,638k (± 0.02%)560,651k (± 0.03%)~560,502k560,942kp=0.810 n=6
Parse Time3.99s (± 0.31%)4.01s (± 0.35%)~3.99s4.03sp=0.087 n=6
Bind Time1.75s (± 0.29%)1.76s (± 0.59%)~1.75s1.78sp=0.070 n=6
Check Time3.06s (± 0.45%)3.06s (± 0.70%)~3.03s3.09sp=0.413 n=6
Emit Time0.09s (± 0.00%)0.09s (± 0.00%)~0.09s0.09sp=1.000 n=6
Total Time8.89s (± 0.22%)8.92s (± 0.24%)+0.03s (+ 0.34%)8.90s8.95sp=0.030 n=6
Angular - node (v14.21.3, x64)
Memory used359,191k (± 0.00%)359,202k (± 0.00%)~359,189k359,236kp=0.297 n=6
Parse Time3.68s (± 0.33%)3.67s (± 0.27%)~3.66s3.69sp=0.102 n=6
Bind Time1.21s (± 0.85%)1.23s (± 1.11%)~1.21s1.25sp=0.098 n=6
Check Time10.01s (± 0.70%)10.01s (± 0.54%)~9.95s10.08sp=0.936 n=6
Emit Time8.35s (± 0.65%)8.38s (± 1.05%)~8.26s8.50sp=0.521 n=6
Total Time23.25s (± 0.38%)23.29s (± 0.57%)~23.12s23.42sp=0.630 n=6
Compiler-Unions - node (v14.21.3, x64)
Memory used188,260k (± 0.01%)188,275k (± 0.01%)~188,242k188,308kp=0.470 n=6
Parse Time1.61s (± 0.25%)1.61s (± 0.61%)~1.60s1.62sp=0.487 n=6
Bind Time0.84s (± 0.61%)0.85s (± 0.61%)~0.84s0.85sp=0.311 n=6
Check Time10.28s (± 0.80%)10.30s (± 0.69%)~10.19s10.38sp=0.521 n=6
Emit Time3.13s (± 1.10%)3.12s (± 0.62%)~3.09s3.14sp=0.806 n=6
Total Time15.87s (± 0.66%)15.88s (± 0.52%)~15.77s15.98sp=0.748 n=6
Monaco - node (v14.21.3, x64)
Memory used341,039k (± 0.00%)341,025k (± 0.00%)~341,006k341,039kp=0.128 n=6
Parse Time2.80s (± 0.61%)2.79s (± 0.37%)~2.78s2.81sp=0.737 n=6
Bind Time1.11s (± 0.46%)1.12s (± 1.08%)~1.10s1.13sp=0.666 n=6
Check Time8.18s (± 0.56%)8.22s (± 0.82%)~8.13s8.30sp=0.378 n=6
Emit Time4.70s (± 0.60%)4.68s (± 0.49%)~4.65s4.71sp=0.418 n=6
Total Time16.79s (± 0.23%)16.81s (± 0.41%)~16.72s16.89sp=0.572 n=6
TFS - node (v14.21.3, x64)
Memory used295,136k (± 0.00%)295,133k (± 0.00%)~295,123k295,143kp=0.469 n=6
Parse Time2.39s (± 0.41%)2.41s (± 0.43%)+0.02s (+ 0.91%)2.40s2.43sp=0.013 n=6
Bind Time1.06s (± 0.49%)1.06s (± 0.49%)~1.06s1.07sp=1.000 n=6
Check Time7.57s (± 0.67%)7.56s (± 0.59%)~7.51s7.64sp=0.872 n=6
Emit Time4.32s (± 1.18%)4.31s (± 0.60%)~4.28s4.35sp=0.872 n=6
Total Time15.35s (± 0.50%)15.34s (± 0.44%)~15.26s15.46sp=0.936 n=6
material-ui - node (v14.21.3, x64)
Memory used476,570k (± 0.00%)476,561k (± 0.01%)~476,518k476,616kp=0.297 n=6
Parse Time3.34s (± 0.44%)3.34s (± 0.31%)~3.32s3.35sp=0.605 n=6
Bind Time1.00s (± 0.98%)1.00s (± 0.81%)~0.99s1.01sp=0.383 n=6
Check Time18.72s (± 0.73%)18.67s (± 0.32%)~18.59s18.73sp=0.630 n=6
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)~0.00s0.00sp=1.000 n=6
Total Time23.06s (± 0.65%)23.00s (± 0.30%)~22.92s23.07sp=0.688 n=6
xstate - node (v14.21.3, x64)
Memory used549,596k (± 0.01%)549,613k (± 0.00%)~549,584k549,631kp=0.378 n=6
Parse Time4.26s (± 1.11%)4.24s (± 0.72%)~4.21s4.29sp=0.373 n=6
Bind Time1.59s (± 1.67%)1.63s (± 3.07%)~1.58s1.68sp=0.371 n=6
Check Time3.19s (± 0.59%)3.20s (± 0.85%)~3.15s3.23sp=0.259 n=6
Emit Time0.09s (± 4.45%)0.09s (± 0.00%)~0.09s0.09sp=0.405 n=6
Total Time9.13s (± 0.33%)9.16s (± 0.94%)~9.05s9.27sp=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)
BenchmarkNameIterations
Current536476
Baselinemain6

TSServer

Comparison Report - main..53647
Metricmain53647DeltaBestWorstp-value
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen2,532ms (± 0.38%)2,545ms (± 0.40%)~2,532ms2,556msp=0.108 n=6
Req 2 - geterr5,541ms (± 0.42%)5,575ms (± 0.83%)~5,519ms5,632msp=0.423 n=6
Req 3 - references339ms (± 1.15%)337ms (± 0.22%)~336ms338msp=1.000 n=6
Req 4 - navto289ms (± 1.35%)286ms (± 0.68%)~284ms289msp=0.328 n=6
Req 5 - completionInfo count1,356 (± 0.00%)1,356 (± 0.00%)~1,3561,356p=1.000 n=6
Req 5 - completionInfo85ms (± 1.24%)85ms (± 1.38%)~83ms86msp=0.619 n=6
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen2,651ms (± 0.37%)2,628ms (± 0.75%)~2,607ms2,654msp=0.066 n=6
Req 2 - geterr4,290ms (± 0.36%)4,297ms (± 0.23%)~4,287ms4,310msp=0.520 n=6
Req 3 - references348ms (± 0.53%)351ms (± 1.08%)~346ms357msp=0.222 n=6
Req 4 - navto291ms (± 0.71%)292ms (± 0.71%)~289ms294msp=0.371 n=6
Req 5 - completionInfo count1,518 (± 0.00%)1,518 (± 0.00%)~1,5181,518p=1.000 n=6
Req 5 - completionInfo63ms (± 0.65%)64ms (± 4.66%)~62ms70msp=0.490 n=6
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen3,057ms (± 0.46%)3,072ms (± 0.57%)~3,051ms3,096msp=0.173 n=6
Req 2 - geterr1,581ms (± 1.14%)1,571ms (± 0.78%)~1,559ms1,592msp=0.378 n=6
Req 3 - references112ms (± 0.46%)113ms (± 0.87%)~112ms114msp=0.140 n=6
Req 4 - navto360ms (± 0.46%)360ms (± 0.29%)~358ms361msp=1.000 n=6
Req 5 - completionInfo count2,862 (± 0.00%)2,862 (± 0.00%)~2,8622,862p=1.000 n=6
Req 5 - completionInfo382ms (± 2.54%)381ms (± 2.01%)~368ms389msp=1.000 n=6
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen2,663ms (± 0.45%)2,640ms (± 0.40%)-23ms (- 0.84%)2,624ms2,654msp=0.019 n=6
Req 2 - geterr6,021ms (± 0.65%)6,027ms (± 0.67%)~5,974ms6,085msp=1.000 n=6
Req 3 - references350ms (± 0.60%)351ms (± 0.53%)~349ms354msp=0.418 n=6
Req 4 - navto288ms (± 0.87%)286ms (± 0.56%)~283ms287msp=0.123 n=6
Req 5 - completionInfo count1,356 (± 0.00%)1,356 (± 0.00%)~1,3561,356p=1.000 n=6
Req 5 - completionInfo91ms (± 5.36%)93ms (± 0.88%)~91ms93msp=0.655 n=6
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen2,836ms (± 0.32%)2,826ms (± 0.29%)~2,819ms2,838msp=0.054 n=6
Req 2 - geterr4,644ms (± 0.47%)4,646ms (± 0.15%)~4,637ms4,656msp=0.470 n=6
Req 3 - references364ms (± 0.64%)366ms (± 0.54%)~363ms369msp=0.282 n=6
Req 4 - navto286ms (± 0.85%)290ms (± 0.59%)+4ms (+ 1.52%)287ms292msp=0.012 n=6
Req 5 - completionInfo count1,518 (± 0.00%)1,518 (± 0.00%)~1,5181,518p=1.000 n=6
Req 5 - completionInfo67ms (± 0.77%)68ms (± 1.24%)~67ms69msp=0.923 n=6
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen3,211ms (± 0.18%)3,211ms (± 0.25%)~3,202ms3,223msp=1.000 n=6
Req 2 - geterr1,732ms (± 0.97%)1,745ms (± 0.47%)~1,733ms1,757msp=0.109 n=6
Req 3 - references130ms (± 9.25%)125ms (± 7.02%)~120ms143msp=0.224 n=6
Req 4 - navto342ms (± 0.44%)342ms (± 0.61%)~339ms344msp=0.742 n=6
Req 5 - completionInfo count2,862 (± 0.00%)2,862 (± 0.00%)~2,8622,862p=1.000 n=6
Req 5 - completionInfo419ms (± 1.36%)412ms (± 1.19%)~405ms419msp=0.054 n=6
Compiler-UnionsTSServer - node (v14.21.3, x64)
Req 1 - updateOpen2,785ms (± 0.15%)2,786ms (± 0.37%)~2,772ms2,802msp=0.873 n=6
Req 2 - geterr6,157ms (± 0.54%)6,162ms (± 1.09%)~6,090ms6,266msp=0.936 n=6
Req 3 - references361ms (± 0.73%)362ms (± 1.43%)~356ms371msp=1.000 n=6
Req 4 - navto289ms (± 0.62%)291ms (± 0.46%)+2ms (+ 0.75%)290ms293msp=0.048 n=6
Req 5 - completionInfo count1,356 (± 0.00%)1,356 (± 0.00%)~1,3561,356p=1.000 n=6
Req 5 - completionInfo101ms (± 4.57%)90ms (± 7.42%)🟩-12ms (-11.35%)82ms100msp=0.020 n=6
CompilerTSServer - node (v14.21.3, x64)
Req 1 - updateOpen2,963ms (± 0.62%)2,963ms (± 0.47%)~2,944ms2,984msp=0.936 n=6
Req 2 - geterr4,524ms (± 1.03%)4,541ms (± 0.47%)~4,511ms4,570msp=0.689 n=6
Req 3 - references375ms (± 0.62%)377ms (± 0.14%)+3ms (+ 0.71%)377ms378msp=0.021 n=6
Req 4 - navto298ms (± 0.28%)298ms (± 0.25%)~297ms299msp=0.652 n=6
Req 5 - completionInfo count1,518 (± 0.00%)1,518 (± 0.00%)~1,5181,518p=1.000 n=6
Req 5 - completionInfo77ms (± 2.72%)77ms (± 3.02%)~76ms82msp=0.800 n=6
xstateTSServer - node (v14.21.3, x64)
Req 1 - updateOpen3,524ms (± 0.57%)3,517ms (± 1.59%)~3,405ms3,555msp=0.471 n=6
Req 2 - geterr1,845ms (± 0.37%)1,843ms (± 0.40%)~1,830ms1,852msp=0.686 n=6
Req 3 - references151ms (± 7.21%)154ms (± 4.87%)~139ms159msp=1.000 n=6
Req 4 - navto393ms (± 0.56%)392ms (± 0.52%)~389ms395msp=0.625 n=6
Req 5 - completionInfo count2,862 (± 0.00%)2,862 (± 0.00%)~2,8622,862p=1.000 n=6
Req 5 - completionInfo432ms (± 0.31%)430ms (± 1.73%)~416ms436msp=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)
BenchmarkNameIterations
Current536476
Baselinemain6

Startup

Comparison Report - main..53647
Metricmain53647DeltaBestWorstp-value
tsc-startup - node (v16.17.1, x64)
Execution time141.76ms (± 0.23%)141.54ms (± 0.16%)-0.22ms (- 0.16%)140.89ms143.74msp=0.000 n=600
tsserver-startup - node (v16.17.1, x64)
Execution time220.74ms (± 0.19%)220.76ms (± 0.17%)~219.73ms224.39msp=0.141 n=600
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time222.22ms (± 0.16%)222.16ms (± 0.16%)-0.06ms (- 0.03%)221.31ms227.35msp=0.026 n=600
typescript-startup - node (v16.17.1, x64)
Execution time203.96ms (± 0.17%)203.92ms (± 0.16%)~203.13ms209.64msp=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)
BenchmarkNameIterations
Current536476
Baselinemain6

Developer Information:

Download Benchmark

@typescript-bot

Copy link
Copy Markdown
Contributor

Hey Wesley Wigham (@weswigham), 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
Contributor

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

Everything looks good!

…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
Copy Markdown
Member

@typescript-bot

TypeScript Bot (typescript-bot) commented Jun 27, 2023

Copy link
Copy Markdown
Contributor

Heya Jake Bailey (@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

TypeScript Bot (typescript-bot) commented Jun 27, 2023

Copy link
Copy Markdown
Contributor

Heya Jake Bailey (@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

TypeScript Bot (typescript-bot) commented Jun 27, 2023

Copy link
Copy Markdown
Contributor

Heya Jake Bailey (@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

TypeScript Bot (typescript-bot) commented Jun 27, 2023

Copy link
Copy Markdown
Contributor

Heya Jake Bailey (@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

TypeScript Bot (typescript-bot) commented Jun 27, 2023

Copy link
Copy Markdown
Contributor

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

@typescript-bot

TypeScript Bot (typescript-bot) commented Jun 27, 2023

Copy link
Copy Markdown
Contributor

Heya Jake Bailey (@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

TypeScript Bot (typescript-bot) commented Jun 27, 2023

Copy link
Copy Markdown
Contributor

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

@typescript-bot

TypeScript Bot (typescript-bot) commented Jun 27, 2023

Copy link
Copy Markdown
Contributor

Heya Jake Bailey (@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

TypeScript Bot (typescript-bot) commented Jun 27, 2023

Copy link
Copy Markdown
Contributor

Hey Jake Bailey (@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/pr-build@5.2.0-pr-53647-17".;

@typescript-bot

Copy link
Copy Markdown
Contributor

Jake Bailey (@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
Copy Markdown
Contributor

Jake Bailey (@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
Copy Markdown
Contributor

Jake Bailey (@jakebailey)
The results of the perf run you requested are in!

Here they are:

Compiler

Comparison Report - main..53647
Metricmain53647DeltaBestWorstp-value
Angular - node (v18.10.0, x64)
Memory used366,749k (± 0.01%)366,748k (± 0.01%)~366,721k366,808kp=0.378 n=6
Parse Time3.42s (± 0.60%)3.42s (± 0.57%)~3.40s3.45sp=0.570 n=6
Bind Time1.12s (± 0.67%)1.12s (± 0.73%)~1.11s1.13sp=0.306 n=6
Check Time8.86s (± 0.22%)8.85s (± 0.31%)~8.81s8.88sp=1.000 n=6
Emit Time7.51s (± 0.58%)7.47s (± 0.33%)~7.45s7.52sp=0.126 n=6
Total Time20.91s (± 0.29%)20.86s (± 0.20%)~20.79s20.90sp=0.054 n=6
Compiler-Unions - node (v18.10.0, x64)
Memory used191,940k (± 1.25%)191,922k (± 1.22%)~190,924k196,688kp=0.809 n=6
Parse Time1.50s (± 0.56%)1.50s (± 0.81%)~1.48s1.51sp=0.863 n=6
Bind Time0.77s (± 0.72%)0.77s (± 0.67%)~0.76s0.77sp=0.640 n=6
Check Time9.45s (± 0.36%)9.44s (± 0.42%)~9.40s9.51sp=0.872 n=6
Emit Time2.76s (± 1.43%)2.75s (± 1.20%)~2.72s2.81sp=0.868 n=6
Total Time14.46s (± 0.30%)14.46s (± 0.33%)~14.38s14.51sp=0.809 n=6
Monaco - node (v18.10.0, x64)
Memory used346,810k (± 0.01%)346,808k (± 0.01%)~346,761k346,837kp=0.936 n=6
Parse Time2.58s (± 0.64%)2.59s (± 1.06%)~2.56s2.63sp=1.000 n=6
Bind Time1.01s (± 0.88%)1.01s (± 0.97%)~1.00s1.02sp=0.798 n=6
Check Time7.17s (± 0.29%)7.20s (± 0.25%)+0.04s (+ 0.51%)7.17s7.22sp=0.019 n=6
Emit Time4.26s (± 0.81%)4.25s (± 0.69%)~4.20s4.27sp=0.466 n=6
Total Time15.02s (± 0.39%)15.05s (± 0.38%)~14.98s15.13sp=0.571 n=6
TFS - node (v18.10.0, x64)
Memory used300,880k (± 0.01%)300,872k (± 0.01%)~300,854k300,907kp=0.422 n=6
Parse Time2.07s (± 0.84%)2.06s (± 0.51%)~2.05s2.08sp=0.413 n=6
Bind Time1.15s (± 1.31%)1.14s (± 0.55%)~1.13s1.15sp=0.591 n=6
Check Time6.65s (± 0.77%)6.63s (± 0.21%)~6.61s6.65sp=0.627 n=6
Emit Time3.88s (± 0.85%)3.88s (± 0.39%)~3.86s3.90sp=1.000 n=6
Total Time13.74s (± 0.59%)13.71s (± 0.24%)~13.67s13.76sp=1.000 n=6
material-ui - node (v18.10.0, x64)
Memory used482,430k (± 0.01%)482,445k (± 0.01%)~482,394k482,543kp=0.572 n=6
Parse Time3.11s (± 0.51%)3.13s (± 1.16%)~3.09s3.19sp=0.685 n=6
Bind Time0.92s (± 0.89%)0.92s (± 1.27%)~0.90s0.93sp=0.738 n=6
Check Time17.31s (± 0.55%)17.28s (± 0.57%)~17.20s17.46sp=0.575 n=6
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)~0.00s0.00sp=1.000 n=6
Total Time21.33s (± 0.45%)21.32s (± 0.50%)~21.23s21.50sp=0.873 n=6
xstate - node (v18.10.0, x64)
Memory used563,569k (± 0.01%)563,570k (± 0.02%)~563,491k563,715kp=0.936 n=6
Parse Time3.81s (± 0.59%)3.83s (± 0.51%)~3.81s3.86sp=0.145 n=6
Bind Time1.64s (± 0.71%)1.64s (± 0.84%)~1.62s1.66sp=0.405 n=6
Check Time2.79s (± 0.67%)2.79s (± 0.30%)~2.78s2.80sp=0.452 n=6
Emit Time0.08s (± 0.00%)0.08s (± 0.00%)~0.08s0.08sp=1.000 n=6
Total Time8.32s (± 0.45%)8.35s (± 0.31%)~8.31s8.38sp=0.195 n=6
Angular - node (v16.17.1, x64)
Memory used366,133k (± 0.01%)366,137k (± 0.01%)~366,117k366,177kp=0.423 n=6
Parse Time3.59s (± 0.33%)3.58s (± 0.31%)~3.57s3.60sp=0.095 n=6
Bind Time1.18s (± 0.44%)1.18s (± 0.71%)~1.17s1.19sp=0.533 n=6
Check Time9.65s (± 0.39%)9.67s (± 0.34%)~9.64s9.72sp=0.290 n=6
Emit Time7.96s (± 0.26%)8.02s (± 0.61%)+0.06s (+ 0.75%)7.96s8.09sp=0.036 n=6
Total Time22.38s (± 0.26%)22.45s (± 0.29%)~22.38s22.56sp=0.145 n=6
Compiler-Unions - node (v16.17.1, x64)
Memory used192,843k (± 0.02%)192,799k (± 0.05%)~192,638k192,871kp=0.423 n=6
Parse Time1.58s (± 0.77%)1.58s (± 1.35%)~1.55s1.60sp=1.000 n=6
Bind Time0.82s (± 0.63%)0.82s (± 0.77%)~0.81s0.83sp=0.386 n=6
Check Time10.13s (± 0.68%)10.17s (± 1.04%)~10.01s10.31sp=0.377 n=6
Emit Time3.03s (± 0.55%)3.00s (± 0.93%)~2.96s3.03sp=0.067 n=6
Total Time15.56s (± 0.42%)15.57s (± 0.85%)~15.37s15.77sp=0.688 n=6
Monaco - node (v16.17.1, x64)
Memory used346,063k (± 0.01%)346,066k (± 0.00%)~346,052k346,076kp=0.810 n=6
Parse Time2.72s (± 0.28%)2.74s (± 0.55%)+0.02s (+ 0.61%)2.72s2.76sp=0.045 n=6
Bind Time1.09s (± 0.75%)1.08s (± 0.50%)~1.08s1.09sp=0.859 n=6
Check Time7.87s (± 0.26%)7.87s (± 0.54%)~7.79s7.92sp=0.868 n=6
Emit Time4.47s (± 0.48%)4.46s (± 0.44%)~4.42s4.47sp=0.624 n=6
Total Time16.14s (± 0.17%)16.15s (± 0.21%)~16.08s16.17sp=0.373 n=6
TFS - node (v16.17.1, x64)
Memory used300,214k (± 0.00%)300,210k (± 0.01%)~300,191k300,243kp=0.630 n=6
Parse Time2.17s (± 0.39%)2.18s (± 0.61%)~2.17s2.20sp=0.070 n=6
Bind Time1.24s (± 1.41%)1.24s (± 0.66%)~1.23s1.25sp=0.508 n=6
Check Time7.31s (± 0.47%)7.34s (± 0.21%)~7.32s7.36sp=0.089 n=6
Emit Time4.32s (± 0.43%)4.36s (± 0.81%)+0.04s (+ 1.04%)4.31s4.40sp=0.036 n=6
Total Time15.03s (± 0.18%)15.12s (± 0.33%)+0.08s (+ 0.54%)15.03s15.17sp=0.030 n=6
material-ui - node (v16.17.1, x64)
Memory used481,682k (± 0.01%)481,679k (± 0.01%)~481,593k481,764kp=0.873 n=6
Parse Time3.26s (± 0.72%)3.26s (± 0.36%)~3.24s3.27sp=0.746 n=6
Bind Time0.95s (± 0.79%)0.95s (± 0.79%)~0.94s0.96sp=1.000 n=6
Check Time18.25s (± 0.35%)18.38s (± 0.84%)~18.21s18.65sp=0.065 n=6
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)~0.00s0.00sp=1.000 n=6
Total Time22.46s (± 0.33%)22.59s (± 0.65%)~22.43s22.85sp=0.093 n=6
xstate - node (v16.17.1, x64)
Memory used561,157k (± 0.02%)561,246k (± 0.02%)~561,138k561,346kp=0.230 n=6
Parse Time4.00s (± 0.32%)4.01s (± 0.41%)~3.99s4.03sp=0.164 n=6
Bind Time1.73s (± 0.57%)1.74s (± 0.32%)~1.73s1.74sp=0.322 n=6
Check Time3.06s (± 0.38%)3.05s (± 0.52%)~3.03s3.07sp=0.169 n=6
Emit Time0.09s (± 0.00%)0.09s (± 0.00%)~0.09s0.09sp=1.000 n=6
Total Time8.88s (± 0.14%)8.89s (± 0.31%)~8.84s8.92sp=0.413 n=6
Angular - node (v14.21.3, x64)
Memory used360,100k (± 0.01%)360,130k (± 0.01%)~360,096k360,165kp=0.336 n=6
Parse Time3.69s (± 0.44%)3.66s (± 0.24%)-0.03s (- 0.72%)3.65s3.67sp=0.011 n=6
Bind Time1.22s (± 0.33%)1.22s (± 0.62%)~1.21s1.23sp=1.000 n=6
Check Time10.10s (± 0.53%)10.06s (± 0.41%)~10.02s10.13sp=0.261 n=6
Emit Time8.41s (± 1.03%)8.42s (± 1.07%)~8.33s8.58sp=0.809 n=6
Total Time23.43s (± 0.49%)23.37s (± 0.42%)~23.24s23.50sp=0.470 n=6
Compiler-Unions - node (v14.21.3, x64)
Memory used188,144k (± 0.01%)188,136k (± 0.01%)~188,112k188,159kp=0.810 n=6
Parse Time1.62s (± 0.55%)1.62s (± 0.50%)~1.61s1.63sp=0.550 n=6
Bind Time0.84s (± 0.97%)0.84s (± 0.48%)~0.84s0.85sp=1.000 n=6
Check Time10.25s (± 0.65%)10.24s (± 0.31%)~10.19s10.28sp=1.000 n=6
Emit Time3.13s (± 0.62%)3.15s (± 0.73%)~3.12s3.18sp=0.145 n=6
Total Time15.84s (± 0.46%)15.85s (± 0.30%)~15.79s15.90sp=0.936 n=6
Monaco - node (v14.21.3, x64)
Memory used341,192k (± 0.01%)341,185k (± 0.00%)~341,166k341,212kp=0.689 n=6
Parse Time2.80s (± 0.70%)2.81s (± 0.49%)~2.79s2.82sp=0.367 n=6
Bind Time1.11s (± 0.57%)1.12s (± 0.75%)~1.11s1.13sp=0.340 n=6
Check Time8.21s (± 0.59%)8.17s (± 0.64%)~8.13s8.27sp=0.125 n=6
Emit Time4.68s (± 0.56%)4.68s (± 0.52%)~4.64s4.71sp=0.935 n=6
Total Time16.80s (± 0.40%)16.77s (± 0.34%)~16.72s16.85sp=0.468 n=6
TFS - node (v14.21.3, x64)
Memory used295,301k (± 0.00%)295,310k (± 0.00%)+10k (+ 0.00%)295,308k295,316kp=0.005 n=6
Parse Time2.39s (± 0.98%)2.40s (± 1.19%)~2.37s2.43sp=0.743 n=6
Bind Time1.07s (± 0.48%)1.07s (± 0.76%)~1.06s1.08sp=0.929 n=6
Check Time7.64s (± 0.48%)7.65s (± 0.68%)~7.60s7.74sp=1.000 n=6
Emit Time4.30s (± 0.58%)4.31s (± 0.79%)~4.24s4.33sp=0.462 n=6
Total Time15.41s (± 0.21%)15.42s (± 0.42%)~15.31s15.50sp=0.685 n=6
material-ui - node (v14.21.3, x64)
Memory used477,159k (± 0.00%)477,150k (± 0.01%)~477,074k477,187kp=0.689 n=6
Parse Time3.33s (± 0.45%)3.34s (± 0.69%)~3.30s3.37sp=0.464 n=6
Bind Time1.01s (± 0.81%)1.00s (± 0.75%)~0.99s1.01sp=0.383 n=6
Check Time19.23s (± 0.33%)19.17s (± 0.31%)~19.10s19.27sp=0.128 n=6
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)~0.00s0.00sp=1.000 n=6
Total Time23.57s (± 0.28%)23.51s (± 0.36%)~23.40s23.64sp=0.199 n=6
xstate - node (v14.21.3, x64)
Memory used550,177k (± 0.00%)550,175k (± 0.00%)~550,156k550,187kp=0.748 n=6
Parse Time4.22s (± 0.40%)4.25s (± 0.40%)+0.03s (+ 0.75%)4.22s4.27sp=0.017 n=6
Bind Time1.66s (± 0.96%)1.66s (± 0.49%)~1.65s1.67sp=0.618 n=6
Check Time3.13s (± 0.34%)3.13s (± 0.66%)~3.11s3.17sp=0.564 n=6
Emit Time0.09s (± 0.00%)0.09s (± 4.45%)~0.09s0.10sp=0.405 n=6
Total Time9.10s (± 0.33%)9.14s (± 0.23%)+0.04s (+ 0.49%)9.12s9.18sp=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)
BenchmarkNameIterations
Current536476
Baselinemain6

TSServer

Comparison Report - main..53647
Metricmain53647DeltaBestWorstp-value
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen2,543ms (± 0.87%)2,556ms (± 0.70%)~2,520ms2,567msp=0.377 n=6
Req 2 - geterr5,347ms (± 0.49%)5,347ms (± 0.45%)~5,310ms5,374msp=1.000 n=6
Req 3 - references342ms (± 1.37%)339ms (± 0.69%)~336ms342msp=0.686 n=6
Req 4 - navto288ms (± 0.41%)288ms (± 0.42%)~286ms289msp=0.868 n=6
Req 5 - completionInfo count1,356 (± 0.00%)1,356 (± 0.00%)~1,3561,356p=1.000 n=6
Req 5 - completionInfo83ms (± 3.77%)83ms (± 3.00%)~79ms86msp=0.871 n=6
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen2,660ms (± 0.94%)2,653ms (± 1.92%)~2,614ms2,748msp=0.378 n=6
Req 2 - geterr4,089ms (± 0.34%)4,094ms (± 0.48%)~4,074ms4,126msp=0.872 n=6
Req 3 - references347ms (± 0.47%)347ms (± 1.06%)~342ms352msp=0.936 n=6
Req 4 - navto288ms (± 0.60%)288ms (± 0.92%)~286ms293msp=1.000 n=6
Req 5 - completionInfo count1,518 (± 0.00%)1,518 (± 0.00%)~1,5181,518p=1.000 n=6
Req 5 - completionInfo72ms (± 3.01%)74ms (± 6.81%)~70ms83msp=0.802 n=6
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen3,088ms (± 0.30%)3,104ms (± 0.62%)~3,086ms3,131msp=0.109 n=6
Req 2 - geterr1,596ms (± 0.59%)1,602ms (± 0.84%)~1,590ms1,623msp=0.335 n=6
Req 3 - references114ms (± 1.45%)117ms (± 6.27%)~112ms132msp=0.290 n=6
Req 4 - navto371ms (± 1.26%)371ms (± 0.65%)~368ms375msp=0.324 n=6
Req 5 - completionInfo count2,872 (± 0.00%)2,872 (± 0.00%)~2,8722,872p=1.000 n=6
Req 5 - completionInfo380ms (± 1.23%)379ms (± 1.83%)~367ms386msp=0.936 n=6
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen2,637ms (± 0.44%)2,638ms (± 1.10%)~2,606ms2,680msp=0.807 n=6
Req 2 - geterr6,036ms (± 0.46%)6,013ms (± 0.51%)~5,964ms6,050msp=0.336 n=6
Req 3 - references354ms (± 0.40%)354ms (± 0.58%)~351ms357msp=0.871 n=6
Req 4 - navto283ms (± 0.27%)286ms (± 1.52%)~282ms294msp=0.164 n=6
Req 5 - completionInfo count1,356 (± 0.00%)1,356 (± 0.00%)~1,3561,356p=1.000 n=6
Req 5 - completionInfo89ms (± 8.42%)93ms (± 0.90%)~91ms93msp=0.383 n=6
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen2,836ms (± 0.41%)2,834ms (± 0.51%)~2,820ms2,852msp=0.936 n=6
Req 2 - geterr4,668ms (± 0.53%)4,670ms (± 0.24%)~4,653ms4,685msp=0.873 n=6
Req 3 - references364ms (± 0.17%)363ms (± 0.41%)~361ms365msp=0.591 n=6
Req 4 - navto282ms (± 0.89%)281ms (± 0.83%)~278ms284msp=0.681 n=6
Req 5 - completionInfo count1,518 (± 0.00%)1,518 (± 0.00%)~1,5181,518p=1.000 n=6
Req 5 - completionInfo75ms (± 0.00%)75ms (± 0.84%)~74ms76msp=1.000 n=6
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen3,236ms (± 0.35%)3,241ms (± 0.24%)~3,228ms3,251msp=0.336 n=6
Req 2 - geterr1,738ms (± 0.77%)1,741ms (± 1.51%)~1,691ms1,769msp=0.471 n=6
Req 3 - references122ms (± 1.31%)122ms (± 0.96%)~120ms123msp=0.867 n=6
Req 4 - navto354ms (± 0.75%)353ms (± 0.56%)~349ms355msp=0.511 n=6
Req 5 - completionInfo count2,872 (± 0.00%)2,872 (± 0.00%)~2,8722,872p=1.000 n=6
Req 5 - completionInfo411ms (± 1.59%)410ms (± 2.15%)~402ms422msp=0.809 n=6
Compiler-UnionsTSServer - node (v14.21.3, x64)
Req 1 - updateOpen2,788ms (± 0.53%)2,799ms (± 0.36%)~2,781ms2,811msp=0.335 n=6
Req 2 - geterr6,180ms (± 0.32%)6,158ms (± 0.29%)~6,133ms6,177msp=0.173 n=6
Req 3 - references363ms (± 1.01%)362ms (± 0.73%)~359ms366msp=0.683 n=6
Req 4 - navto292ms (± 0.56%)292ms (± 0.77%)~290ms296msp=0.869 n=6
Req 5 - completionInfo count1,356 (± 0.00%)1,356 (± 0.00%)~1,3561,356p=1.000 n=6
Req 5 - completionInfo100ms (± 4.95%)101ms (± 6.73%)~87ms104msp=0.864 n=6
CompilerTSServer - node (v14.21.3, x64)
Req 1 - updateOpen2,963ms (± 0.59%)2,969ms (± 0.29%)~2,955ms2,979msp=0.630 n=6
Req 2 - geterr4,543ms (± 0.36%)4,537ms (± 0.61%)~4,514ms4,574msp=0.689 n=6
Req 3 - references376ms (± 0.44%)376ms (± 0.52%)~373ms378msp=0.871 n=6
Req 4 - navto299ms (± 0.35%)299ms (± 0.18%)~298ms299msp=0.663 n=6
Req 5 - completionInfo count1,518 (± 0.00%)1,518 (± 0.00%)~1,5181,518p=1.000 n=6
Req 5 - completionInfo77ms (± 0.67%)77ms (± 0.67%)~76ms77msp=1.000 n=6
xstateTSServer - node (v14.21.3, x64)
Req 1 - updateOpen3,455ms (± 0.87%)3,458ms (± 0.74%)~3,435ms3,499msp=0.936 n=6
Req 2 - geterr1,852ms (± 1.01%)1,853ms (± 1.10%)~1,836ms1,889msp=0.810 n=6
Req 3 - references155ms (± 5.64%)146ms (± 7.69%)~132ms158msp=0.076 n=6
Req 4 - navto391ms (± 0.96%)396ms (± 0.49%)+5ms (+ 1.36%)395ms400msp=0.049 n=6
Req 5 - completionInfo count2,872 (± 0.00%)2,872 (± 0.00%)~2,8722,872p=1.000 n=6
Req 5 - completionInfo440ms (± 1.59%)434ms (± 1.65%)~426ms445msp=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)
BenchmarkNameIterations
Current536476
Baselinemain6

Startup

Comparison Report - main..53647
Metricmain53647DeltaBestWorstp-value
tsc-startup - node (v16.17.1, x64)
Execution time142.40ms (± 0.23%)142.75ms (± 0.20%)+0.35ms (+ 0.24%)141.91ms147.17msp=0.000 n=600
tsserver-startup - node (v16.17.1, x64)
Execution time221.55ms (± 0.21%)222.37ms (± 0.18%)+0.82ms (+ 0.37%)221.43ms227.03msp=0.000 n=600
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time222.96ms (± 0.16%)223.68ms (± 0.16%)+0.72ms (+ 0.32%)222.71ms228.56msp=0.000 n=600
typescript-startup - node (v16.17.1, x64)
Execution time204.80ms (± 0.17%)205.99ms (± 0.24%)+1.19ms (+ 0.58%)204.76ms210.40msp=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)
BenchmarkNameIterations
Current536476
Baselinemain6

Developer Information:

Download Benchmark

@typescript-bot

Copy link
Copy Markdown
Contributor

Jake Bailey (@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
Copy Markdown
Contributor

Hey Jake Bailey (@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
Contributor

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

Everything looks good!

@jakebailey

Copy link
Copy Markdown
Member

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

@Andarist

Copy link
Copy Markdown
ContributorAuthor

Is there anything left here?

Yes, merging it 😜

@jakebailey

Copy link
Copy Markdown
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
Copy Markdown
ContributorAuthor

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
Copy Markdown

Jake Bailey (@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
Copy Markdown
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 freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

For Backlog BugPRs 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

7 participants

@Andarist@weswigham@typescript-bot@jakebailey@ssalbdivad@sandersn@ahejlsberg