Skip to content

[experiment] Sort intersections - #52891

Closed
Jake Bailey (jakebailey) wants to merge 5 commits into
microsoft:mainfrom
jakebailey:sorted-intersections
Closed

[experiment] Sort intersections#52891
Jake Bailey (jakebailey) wants to merge 5 commits into
microsoft:mainfrom
jakebailey:sorted-intersections

Conversation

@jakebailey

Copy link
Copy Markdown
Member

For #51188, doing this is the difference between OOMing and just taking "too long", because doing this allows us to reuse intersections, compare using fast paths, etc, when producing intersections which are the same but just happen to be in different orders.

To actually do this, we'd need to add origin to intersections too (hence, test failures), but I want to first see what the perf tests say.

@jakebailey

Copy link
Copy Markdown
MemberAuthor

TypeScript Bot (@typescript-bot) perf test this

@typescript-bot

TypeScript Bot (typescript-bot) commented Feb 21, 2023

Copy link
Copy Markdown
Contributor

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

Update: The results are in!

@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..52891
Metricmain52891DeltaBestWorstp-value
Angular - node (v18.10.0, x64)
Memory used359,652k (± 0.01%)359,656k (± 0.01%)~359,617k359,696kp=0.688 n=6
Parse Time3.49s (± 0.72%)3.49s (± 1.17%)~3.44s3.54sp=1.000 n=6
Bind Time1.18s (± 0.35%)1.17s (± 0.88%)~1.16s1.19sp=0.257 n=6
Check Time8.78s (± 0.30%)8.78s (± 0.51%)~8.72s8.85sp=0.809 n=6
Emit Time7.68s (± 0.58%)7.61s (± 0.78%)-0.08s (- 1.00%)7.54s7.67sp=0.024 n=6
Total Time21.12s (± 0.23%)21.04s (± 0.49%)~20.94s21.22sp=0.148 n=6
Compiler-Unions - node (v18.10.0, x64)
Memory used191,791k (± 1.50%)189,257k (± 0.00%)-2,534k (- 1.32%)189,250k189,265kp=0.005 n=6
Parse Time1.49s (± 0.82%)1.48s (± 0.51%)~1.47s1.49sp=0.555 n=6
Bind Time0.80s (± 1.02%)0.79s (± 0.65%)~0.79s0.80sp=0.523 n=6
Check Time9.48s (± 0.59%)9.43s (± 0.57%)~9.37s9.52sp=0.172 n=6
Emit Time2.82s (± 1.37%)2.78s (± 0.30%)~2.78s2.80sp=0.072 n=6
Total Time14.59s (± 0.42%)14.50s (± 0.41%)~14.43s14.57sp=0.077 n=6
Monaco - node (v18.10.0, x64)
Memory used344,036k (± 0.01%)344,070k (± 0.01%)~343,998k344,127kp=0.230 n=6
Parse Time2.62s (± 0.71%)2.62s (± 0.63%)~2.59s2.63sp=0.934 n=6
Bind Time1.04s (± 0.49%)1.04s (± 0.72%)~1.03s1.05sp=0.784 n=6
Check Time7.14s (± 0.30%)7.14s (± 0.43%)~7.11s7.19sp=0.625 n=6
Emit Time4.34s (± 0.81%)4.33s (± 0.69%)~4.29s4.37sp=0.629 n=6
Total Time15.14s (± 0.28%)15.13s (± 0.40%)~15.03s15.19sp=1.000 n=6
TFS - node (v18.10.0, x64)
Memory used300,068k (± 0.01%)300,072k (± 0.01%)~300,042k300,090kp=0.630 n=6
Parse Time2.06s (± 1.16%)2.04s (± 0.91%)~2.01s2.06sp=0.324 n=6
Bind Time1.17s (± 0.35%)1.17s (± 0.47%)~1.17s1.18sp=0.282 n=6
Check Time6.58s (± 0.25%)6.54s (± 0.41%)-0.04s (- 0.56%)6.50s6.57sp=0.019 n=6
Emit Time3.93s (± 0.48%)3.92s (± 0.72%)~3.88s3.95sp=0.746 n=6
Total Time13.74s (± 0.27%)13.67s (± 0.29%)-0.06s (- 0.46%)13.61s13.72sp=0.013 n=6
material-ui - node (v18.10.0, x64)
Memory used476,398k (± 0.00%)474,549k (± 0.01%)-1,849k (- 0.39%)474,497k474,594kp=0.005 n=6
Parse Time3.17s (± 1.17%)3.16s (± 0.24%)~3.15s3.17sp=0.291 n=6
Bind Time0.97s (± 0.53%)0.96s (± 0.57%)-0.01s (- 0.86%)0.96s0.97sp=0.038 n=6
Check Time17.23s (± 0.86%)17.17s (± 0.50%)~17.05s17.28sp=0.686 n=6
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)~0.00s0.00sp=1.000 n=6
Total Time21.38s (± 0.74%)21.30s (± 0.40%)~21.18s21.40sp=0.468 n=6
xstate - node (v18.10.0, x64)
Memory used548,644k (± 0.03%)548,377k (± 0.03%)-267k (- 0.05%)548,087k548,592kp=0.031 n=6
Parse Time4.08s (± 0.81%)4.05s (± 0.72%)~4.02s4.09sp=0.108 n=6
Bind Time1.72s (± 0.95%)1.71s (± 0.88%)~1.70s1.73sp=0.183 n=6
Check Time2.83s (± 0.90%)2.82s (± 0.92%)~2.78s2.86sp=0.517 n=6
Emit Time0.08s (± 0.00%)0.08s (± 4.99%)~0.08s0.09sp=0.405 n=6
Total Time8.73s (± 0.46%)8.67s (± 0.48%)-0.06s (- 0.73%)8.62s8.72sp=0.037 n=6
Angular - node (v16.17.1, x64)
Memory used359,036k (± 0.00%)359,037k (± 0.01%)~358,981k359,063kp=0.423 n=6
Parse Time3.72s (± 0.29%)3.72s (± 0.40%)~3.70s3.73sp=0.933 n=6
Bind Time1.23s (± 0.42%)1.22s (± 0.68%)~1.22s1.24sp=0.533 n=6
Check Time9.54s (± 0.39%)9.60s (± 0.50%)~9.55s9.67sp=0.106 n=6
Emit Time8.08s (± 0.60%)8.08s (± 0.26%)~8.05s8.10sp=0.936 n=6
Total Time22.57s (± 0.31%)22.62s (± 0.29%)~22.55s22.70sp=0.227 n=6
Compiler-Unions - node (v16.17.1, x64)
Memory used191,545k (± 0.03%)191,039k (± 0.01%)-506k (- 0.26%)191,017k191,072kp=0.005 n=6
Parse Time1.55s (± 0.86%)1.56s (± 1.48%)~1.53s1.59sp=0.418 n=6
Bind Time0.84s (± 0.48%)0.84s (± 0.89%)~0.83s0.85sp=1.000 n=6
Check Time10.11s (± 0.40%)10.07s (± 0.64%)~10.00s10.19sp=0.170 n=6
Emit Time3.05s (± 0.68%)3.06s (± 1.07%)~3.01s3.10sp=0.373 n=6
Total Time15.56s (± 0.35%)15.54s (± 0.55%)~15.44s15.66sp=0.747 n=6
Monaco - node (v16.17.1, x64)
Memory used343,347k (± 0.01%)343,344k (± 0.00%)~343,328k343,366kp=0.873 n=6
Parse Time2.79s (± 0.67%)2.79s (± 0.87%)~2.76s2.83sp=1.000 n=6
Bind Time1.12s (± 0.36%)1.12s (± 0.46%)~1.11s1.12sp=0.595 n=6
Check Time7.81s (± 0.39%)7.82s (± 0.51%)~7.78s7.89sp=0.746 n=6
Emit Time4.51s (± 0.47%)4.53s (± 0.96%)~4.50s4.62sp=0.291 n=6
Total Time16.23s (± 0.26%)16.26s (± 0.39%)~16.19s16.35sp=0.376 n=6
TFS - node (v16.17.1, x64)
Memory used299,416k (± 0.00%)299,429k (± 0.01%)~299,408k299,452kp=0.107 n=6
Parse Time2.21s (± 0.92%)2.20s (± 0.85%)~2.18s2.22sp=0.410 n=6
Bind Time1.26s (± 0.60%)1.26s (± 1.30%)~1.23s1.28sp=0.548 n=6
Check Time7.24s (± 0.33%)7.25s (± 0.57%)~7.19s7.30sp=1.000 n=6
Emit Time4.24s (± 0.75%)4.23s (± 0.96%)~4.16s4.27sp=0.808 n=6
Total Time14.95s (± 0.41%)14.93s (± 0.25%)~14.89s14.98sp=0.570 n=6
material-ui - node (v16.17.1, x64)
Memory used475,712k (± 0.00%)473,848k (± 0.00%)-1,865k (- 0.39%)473,828k473,879kp=0.005 n=6
Parse Time3.34s (± 0.65%)3.33s (± 0.27%)~3.32s3.34sp=0.934 n=6
Bind Time1.02s (± 0.82%)1.02s (± 0.00%)~1.02s1.02sp=0.176 n=6
Check Time18.19s (± 0.47%)18.25s (± 0.69%)~18.14s18.48sp=0.521 n=6
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)~0.00s0.00sp=1.000 n=6
Total Time22.55s (± 0.39%)22.61s (± 0.55%)~22.49s22.83sp=0.630 n=6
xstate - node (v16.17.1, x64)
Memory used546,069k (± 0.02%)545,774k (± 0.01%)-295k (- 0.05%)545,712k545,877kp=0.005 n=6
Parse Time4.25s (± 0.15%)4.26s (± 0.18%)~4.25s4.27sp=0.081 n=6
Bind Time1.82s (± 0.58%)1.82s (± 0.64%)~1.80s1.83sp=0.619 n=6
Check Time3.07s (± 0.53%)3.04s (± 0.83%)-0.03s (- 1.14%)3.00s3.07sp=0.029 n=6
Emit Time0.09s (± 4.45%)0.09s (± 4.45%)~0.09s0.10sp=1.000 n=6
Total Time9.23s (± 0.25%)9.21s (± 0.40%)~9.16s9.25sp=0.294 n=6
Angular - node (v14.15.1, x64)
Memory used352,590k (± 0.01%)352,568k (± 0.00%)-22k (- 0.01%)352,553k352,583kp=0.045 n=6
Parse Time3.74s (± 0.58%)3.71s (± 0.56%)-0.04s (- 1.02%)3.68s3.73sp=0.023 n=6
Bind Time1.28s (± 0.32%)1.28s (± 0.59%)~1.27s1.29sp=1.000 n=6
Check Time9.86s (± 0.52%)9.88s (± 0.51%)~9.82s9.95sp=0.685 n=6
Emit Time8.37s (± 0.42%)8.36s (± 0.37%)~8.33s8.41sp=0.687 n=6
Total Time23.25s (± 0.27%)23.23s (± 0.32%)~23.12s23.31sp=0.748 n=6
Compiler-Unions - node (v14.15.1, x64)
Memory used188,279k (± 0.93%)186,014k (± 0.02%)-2,265k (- 1.20%)185,979k186,061kp=0.005 n=6
Parse Time1.58s (± 0.52%)1.58s (± 0.48%)~1.57s1.59sp=0.306 n=6
Bind Time0.86s (± 0.47%)0.86s (± 0.64%)~0.85s0.86sp=0.054 n=6
Check Time10.28s (± 0.36%)10.24s (± 0.53%)~10.16s10.31sp=0.227 n=6
Emit Time3.18s (± 1.05%)3.16s (± 1.49%)~3.10s3.23sp=0.627 n=6
Total Time15.89s (± 0.41%)15.84s (± 0.51%)~15.70s15.95sp=0.199 n=6
Monaco - node (v14.15.1, x64)
Memory used338,202k (± 0.02%)338,187k (± 0.00%)~338,168k338,202kp=0.936 n=6
Parse Time2.89s (± 0.40%)2.90s (± 0.47%)~2.89s2.93sp=0.117 n=6
Bind Time1.12s (± 0.75%)1.12s (± 0.49%)~1.11s1.12sp=0.855 n=6
Check Time8.13s (± 0.58%)8.12s (± 0.59%)~8.07s8.19sp=0.809 n=6
Emit Time4.80s (± 0.70%)4.78s (± 0.47%)~4.74s4.80sp=0.332 n=6
Total Time16.94s (± 0.41%)16.92s (± 0.34%)~16.85s17.01sp=0.628 n=6
TFS - node (v14.15.1, x64)
Memory used294,360k (± 0.00%)294,346k (± 0.00%)~294,336k294,367kp=0.054 n=6
Parse Time2.39s (± 0.84%)2.39s (± 0.81%)~2.37s2.42sp=0.934 n=6
Bind Time1.12s (± 2.09%)1.09s (± 0.50%)~1.09s1.10sp=0.154 n=6
Check Time7.55s (± 0.31%)7.56s (± 0.46%)~7.50s7.59sp=0.571 n=6
Emit Time4.64s (± 0.96%)4.63s (± 0.74%)~4.59s4.68sp=0.871 n=6
Total Time15.70s (± 0.43%)15.67s (± 0.24%)~15.60s15.70sp=0.809 n=6
material-ui - node (v14.15.1, x64)
Memory used471,244k (± 0.01%)469,393k (± 0.00%)-1,851k (- 0.39%)469,371k469,410kp=0.005 n=6
Parse Time3.53s (± 0.42%)3.48s (± 0.35%)-0.04s (- 1.28%)3.47s3.50sp=0.005 n=6
Bind Time1.04s (± 0.49%)1.04s (± 1.12%)~1.02s1.05sp=0.929 n=6
Check Time19.31s (± 0.61%)19.11s (± 0.39%)-0.20s (- 1.05%)19.00s19.19sp=0.020 n=6
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)~0.00s0.00sp=1.000 n=6
Total Time23.88s (± 0.46%)23.63s (± 0.26%)-0.25s (- 1.05%)23.53s23.69sp=0.005 n=6
xstate - node (v14.15.1, x64)
Memory used534,480k (± 0.01%)534,220k (± 0.01%)-260k (- 0.05%)534,185k534,274kp=0.005 n=6
Parse Time4.60s (± 0.56%)4.58s (± 0.43%)~4.55s4.60sp=0.277 n=6
Bind Time1.73s (± 0.52%)1.72s (± 0.44%)~1.71s1.73sp=0.053 n=6
Check Time3.16s (± 0.73%)3.20s (± 0.78%)~3.17s3.23sp=0.063 n=6
Emit Time0.10s (± 4.01%)0.10s (± 0.00%)~0.10s0.10sp=0.405 n=6
Total Time9.59s (± 0.44%)9.60s (± 0.34%)~9.54s9.63sp=0.747 n=6
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.15.1, x64)
Scenarios
  • Angular - node (v18.10.0, x64)
  • Angular - node (v16.17.1, x64)
  • Angular - node (v14.15.1, x64)
  • Compiler-Unions - node (v18.10.0, x64)
  • Compiler-Unions - node (v16.17.1, x64)
  • Compiler-Unions - node (v14.15.1, x64)
  • Monaco - node (v18.10.0, x64)
  • Monaco - node (v16.17.1, x64)
  • Monaco - node (v14.15.1, x64)
  • TFS - node (v18.10.0, x64)
  • TFS - node (v16.17.1, x64)
  • TFS - node (v14.15.1, x64)
  • material-ui - node (v18.10.0, x64)
  • material-ui - node (v16.17.1, x64)
  • material-ui - node (v14.15.1, x64)
  • xstate - node (v18.10.0, x64)
  • xstate - node (v16.17.1, x64)
  • xstate - node (v14.15.1, x64)
BenchmarkNameIterations
Current528916
Baselinemain6

TSServer

Comparison Report - main..52891
Metricmain52891DeltaBestWorstp-value
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen2,390ms (± 0.31%)2,372ms (± 0.51%)-19ms (- 0.77%)2,359ms2,385msp=0.030 n=6
Req 2 - geterr5,392ms (± 0.36%)5,377ms (± 0.58%)~5,347ms5,422msp=0.298 n=6
Req 3 - references340ms (± 0.74%)342ms (± 1.47%)~336ms348msp=0.467 n=6
Req 4 - navto283ms (± 0.82%)281ms (± 0.49%)-3ms (- 1.00%)278ms282msp=0.043 n=6
Req 5 - completionInfo count1,356 (± 0.00%)1,356 (± 0.00%)~1,3561,356p=1.000 n=6
Req 5 - completionInfo72ms (± 0.88%)72ms (± 0.57%)~71ms72msp=0.673 n=6
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen2,524ms (± 0.70%)2,497ms (± 0.90%)-27ms (- 1.06%)2,480ms2,542msp=0.044 n=6
Req 2 - geterr4,038ms (± 0.56%)4,065ms (± 0.57%)~4,028ms4,087msp=0.066 n=6
Req 3 - references353ms (± 0.44%)351ms (± 0.63%)~348ms353msp=0.357 n=6
Req 4 - navto288ms (± 0.49%)287ms (± 0.75%)~285ms290msp=0.514 n=6
Req 5 - completionInfo count1,518 (± 0.00%)1,518 (± 0.00%)~1,5181,518p=1.000 n=6
Req 5 - completionInfo69ms (± 4.86%)71ms (± 9.83%)~67ms85msp=0.285 n=6
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen3,202ms (± 0.34%)3,190ms (± 0.49%)~3,166ms3,209msp=0.128 n=6
Req 2 - geterr1,646ms (± 0.65%)1,681ms (± 0.82%)+35ms (+ 2.13%)1,666ms1,698msp=0.005 n=6
Req 3 - references104ms (± 1.01%)105ms (± 1.00%)~103ms106msp=0.160 n=6
Req 4 - navto357ms (± 0.46%)358ms (± 0.78%)~354ms361msp=0.513 n=6
Req 5 - completionInfo count3,136 (± 0.00%)3,136 (± 0.00%)~3,1363,136p=1.000 n=6
Req 5 - completionInfo428ms (± 1.65%)431ms (± 0.83%)~427ms436msp=0.520 n=6
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen2,529ms (± 0.50%)2,531ms (± 0.68%)~2,510ms2,550msp=0.936 n=6
Req 2 - geterr5,775ms (± 0.63%)5,746ms (± 0.62%)~5,697ms5,799msp=0.173 n=6
Req 3 - references354ms (± 1.38%)355ms (± 1.59%)~350ms364msp=0.936 n=6
Req 4 - navto280ms (± 0.84%)281ms (± 0.30%)~280ms282msp=0.405 n=6
Req 5 - completionInfo count1,356 (± 0.00%)1,356 (± 0.00%)~1,3561,356p=1.000 n=6
Req 5 - completionInfo81ms (± 5.30%)81ms (± 4.61%)~77ms85msp=0.743 n=6
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen2,705ms (± 0.85%)2,700ms (± 0.51%)~2,677ms2,716msp=0.810 n=6
Req 2 - geterr4,390ms (± 0.40%)4,395ms (± 0.45%)~4,365ms4,415msp=0.575 n=6
Req 3 - references367ms (± 0.42%)366ms (± 1.18%)~361ms371msp=1.000 n=6
Req 4 - navto283ms (± 0.80%)282ms (± 0.86%)~278ms285msp=0.568 n=6
Req 5 - completionInfo count1,518 (± 0.00%)1,518 (± 0.00%)~1,5181,518p=1.000 n=6
Req 5 - completionInfo73ms (± 1.42%)74ms (± 1.11%)~73ms75msp=0.121 n=6
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen3,375ms (± 0.39%)3,380ms (± 0.49%)~3,359ms3,398msp=0.423 n=6
Req 2 - geterr1,823ms (± 1.23%)1,882ms (± 3.49%)+59ms (+ 3.23%)1,844ms2,015msp=0.020 n=6
Req 3 - references113ms (± 1.33%)113ms (± 1.84%)~110ms115msp=0.871 n=6
Req 4 - navto346ms (± 1.36%)344ms (± 0.85%)~341ms348msp=0.293 n=6
Req 5 - completionInfo count3,136 (± 0.00%)3,136 (± 0.00%)~3,1363,136p=1.000 n=6
Req 5 - completionInfo433ms (± 0.74%)438ms (± 0.93%)~430ms442msp=0.088 n=6
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen2,618ms (± 0.77%)2,605ms (± 0.72%)~2,584ms2,636msp=0.228 n=6
Req 2 - geterr6,087ms (± 0.44%)6,087ms (± 0.31%)~6,058ms6,107msp=1.000 n=6
Req 3 - references367ms (± 0.47%)365ms (± 0.39%)~363ms367msp=0.089 n=6
Req 4 - navto278ms (± 0.54%)277ms (± 0.29%)~276ms278msp=0.235 n=6
Req 5 - completionInfo count1,356 (± 0.00%)1,356 (± 0.00%)~1,3561,356p=1.000 n=6
Req 5 - completionInfo101ms (± 0.51%)101ms (± 0.40%)~100ms101msp=0.114 n=6
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen2,849ms (± 0.92%)2,840ms (± 0.63%)~2,808ms2,857msp=0.128 n=6
Req 2 - geterr4,625ms (± 2.45%)4,518ms (± 1.91%)~4,443ms4,686msp=0.199 n=6
Req 3 - references381ms (± 0.51%)387ms (± 5.00%)~374ms426msp=0.803 n=6
Req 4 - navto293ms (± 1.11%)294ms (± 1.25%)~288ms297msp=0.515 n=6
Req 5 - completionInfo count1,518 (± 0.00%)1,518 (± 0.00%)~1,5181,518p=1.000 n=6
Req 5 - completionInfo88ms (±11.12%)92ms (±10.24%)~83ms102msp=0.168 n=6
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen3,698ms (± 0.42%)3,684ms (± 0.49%)~3,660ms3,713msp=0.230 n=6
Req 2 - geterr1,862ms (± 2.04%)1,819ms (± 1.63%)~1,784ms1,857msp=0.109 n=6
Req 3 - references125ms (± 0.84%)129ms (± 2.22%)+5ms (+ 3.88%)125ms132msp=0.012 n=6
Req 4 - navto373ms (± 2.01%)374ms (± 0.55%)~370ms376msp=1.000 n=6
Req 5 - completionInfo count3,136 (± 0.00%)3,136 (± 0.00%)~3,1363,136p=1.000 n=6
Req 5 - completionInfo444ms (± 0.98%)457ms (± 2.01%)+13ms (+ 2.96%)448ms473msp=0.010 n=6
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.15.1, x64)
Scenarios
  • Compiler-UnionsTSServer - node (v18.10.0, x64)
  • Compiler-UnionsTSServer - node (v16.17.1, x64)
  • Compiler-UnionsTSServer - node (v14.15.1, x64)
  • CompilerTSServer - node (v18.10.0, x64)
  • CompilerTSServer - node (v16.17.1, x64)
  • CompilerTSServer - node (v14.15.1, x64)
  • xstateTSServer - node (v18.10.0, x64)
  • xstateTSServer - node (v16.17.1, x64)
  • xstateTSServer - node (v14.15.1, x64)
BenchmarkNameIterations
Current528916
Baselinemain6

Startup

Comparison Report - main..52891
Metricmain52891DeltaBestWorstp-value
tsc-startup - node (v16.17.1, x64)
Execution time142.13ms (± 0.22%)142.29ms (± 0.22%)+0.16ms (+ 0.11%)141.60ms151.49msp=0.000 n=600
tsserver-startup - node (v16.17.1, x64)
Execution time226.14ms (± 0.13%)226.58ms (± 0.13%)+0.44ms (+ 0.20%)225.73ms230.53msp=0.000 n=600
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time228.03ms (± 0.15%)228.41ms (± 0.15%)+0.38ms (+ 0.16%)227.48ms232.58msp=0.000 n=600
typescript-startup - node (v16.17.1, x64)
Execution time208.94ms (± 0.17%)209.33ms (± 0.15%)+0.40ms (+ 0.19%)208.52ms214.21msp=0.000 n=600
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v16.17.1, x64)
Scenarios
  • tsc-startup - node (v16.17.1, x64)
  • tsserver-startup - node (v16.17.1, x64)
  • tsserverlibrary-startup - node (v16.17.1, x64)
  • typescript-startup - node (v16.17.1, x64)
BenchmarkNameIterations
Current528916
Baselinemain6

Developer Information:

Download Benchmark

@DanielRosenwasser

Daniel Rosenwasser (DanielRosenwasser) commented Feb 21, 2023

Copy link
Copy Markdown
Member

Nice job finding other possible wins here - the "fast path" I described in our chat was actually in someTypeRelatedToType.

That function has some code that can now take advantage of intersections being sorted as well:

- if (source.flags & TypeFlags.Union && containsType(sourceTypes, target)) {+ if (containsType(sourceTypes, target)) {
return Ternary.True;
}

@fatcerberus

Copy link
Copy Markdown

The question is: is the sorting itself a perf issue? I recall it being mentioned that perf was the primary reason unions aren't sorted, though to be fair intersections are much less common than unions.

Also wasn't there an issue where stuff like {} & string is treated differently from string & {} that this might exacerbate?

@jakebailey

Jake Bailey (jakebailey) commented Feb 21, 2023

Copy link
Copy Markdown
MemberAuthor

To the former point, I would think unions are more common and therefore the fact that this PR doesn't seem to cause a massive regression is a good sign. I haven't gone through and "enabled" all of the other wins.

For the latter, yes, I need to figure that out. But, all of the tests (except one) fail just because this PR doesn't have the origin type thing to preserve the "looks" of intersections. So I'm hopeful I can make everything consistent.

@fatcerberus

Copy link
Copy Markdown

To the former point, I would think unions are more common

Yep, hence my "to be fair" caveat.

// TODO(jakebailey): we already have insertSorted and should use it here (adding the perf optimization?)
const len = types.length;
// Perf optimization (measure?); check the last element first as we often insert in order.
const index = len && type.id > types[len - 1].id ? ~len : binarySearch(types, type, getTypeId, compareValues);

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

I tested this perf optimization specifically and I don't think it actually helps...

@jakebailey

Copy link
Copy Markdown
MemberAuthor

TypeScript Bot (@typescript-bot) perf test this

@typescript-bot

TypeScript Bot (typescript-bot) commented Feb 21, 2023

Copy link
Copy Markdown
Contributor

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

Update: The results are in!

@jakebailey

Jake Bailey (jakebailey) commented Feb 21, 2023

Copy link
Copy Markdown
MemberAuthor

RE: #51188 this PR with the suggestion above turns into a huge win, not only fixing the problem I'm looking into but making it 40% faster than TS 4.6. Very interested in what the perf test is going to report.

@DanielRosenwasser

Copy link
Copy Markdown
Member

Sweet! I'll also mention - even if you don't end up sorting intersection types by their IDs due to other concerns, you can still add a linear walk over every type. That'll provide earlier bail-outs without having to deeply explore every preceding type.

@jakebailey

Copy link
Copy Markdown
MemberAuthor

Sweet! I'll also mention - even if you don't end up sorting intersection types by their IDs due to other concerns, you can still add a linear walk over every type. That'll provide earlier bail-outs without having to deeply explore every preceding type.

Oh, that's a good idea. I'll have to try that for #51188. We have to go over the intersection's types anyway so another linear iteration seems fine.

@jakebailey

Copy link
Copy Markdown
MemberAuthor

Ugh nevermind I screwed up; I had commented out the slow code in my example...

There's still a benefit, but it goes from 40s to 30s. I mean, still good.

@DanielRosenwasser

Copy link
Copy Markdown
Member

I will happily take a 25% speed-up 😄

Still, sounds like we can do better for that issue.

@jakebailey

Copy link
Copy Markdown
MemberAuthor

Hm, not sure where my 40s number came from anymore, because now it's 30 without the last commit too. I'm going to stop giving updates before I make myself look any sillier.

@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..52891
Metricmain52891DeltaBestWorstp-value
Angular - node (v18.10.0, x64)
Memory used359,660k (± 0.01%)359,656k (± 0.01%)~359,619k359,708kp=0.810 n=6
Parse Time3.48s (± 0.83%)3.48s (± 1.11%)~3.45s3.55sp=1.000 n=6
Bind Time1.18s (± 0.69%)1.18s (± 0.69%)~1.17s1.19sp=1.000 n=6
Check Time8.75s (± 0.22%)8.81s (± 0.67%)+0.06s (+ 0.70%)8.75s8.90sp=0.035 n=6
Emit Time7.59s (± 0.69%)7.63s (± 0.66%)~7.56s7.70sp=0.199 n=6
Total Time20.99s (± 0.25%)21.10s (± 0.59%)~20.94s21.27sp=0.126 n=6
Compiler-Unions - node (v18.10.0, x64)
Memory used190,827k (± 1.20%)190,157k (± 1.19%)-671k (- 0.35%)189,171k194,789kp=0.045 n=6
Parse Time1.48s (± 0.79%)1.49s (± 0.99%)~1.47s1.51sp=0.324 n=6
Bind Time0.80s (± 0.65%)0.79s (± 0.69%)~0.79s0.80sp=0.640 n=6
Check Time9.44s (± 0.73%)9.45s (± 0.33%)~9.42s9.50sp=0.419 n=6
Emit Time2.81s (± 1.06%)2.80s (± 0.50%)~2.78s2.82sp=0.517 n=6
Total Time14.52s (± 0.52%)14.53s (± 0.32%)~14.49s14.59sp=0.629 n=6
Monaco - node (v18.10.0, x64)
Memory used344,041k (± 0.01%)344,074k (± 0.01%)~344,018k344,135kp=0.149 n=6
Parse Time2.64s (± 0.94%)2.62s (± 0.88%)~2.59s2.65sp=0.375 n=6
Bind Time1.04s (± 0.61%)1.04s (± 0.86%)~1.03s1.05sp=1.000 n=6
Check Time7.13s (± 0.27%)7.16s (± 0.80%)~7.09s7.24sp=0.627 n=6
Emit Time4.31s (± 0.63%)4.35s (± 0.96%)~4.28s4.40sp=0.148 n=6
Total Time15.12s (± 0.26%)15.16s (± 0.39%)~15.08s15.22sp=0.198 n=6
TFS - node (v18.10.0, x64)
Memory used300,073k (± 0.00%)300,077k (± 0.00%)~300,067k300,102kp=0.936 n=6
Parse Time2.06s (± 1.35%)2.05s (± 0.72%)~2.03s2.07sp=0.684 n=6
Bind Time1.17s (± 0.54%)1.18s (± 1.04%)~1.17s1.20sp=0.599 n=6
Check Time6.57s (± 0.34%)6.57s (± 0.41%)~6.54s6.60sp=0.935 n=6
Emit Time3.95s (± 0.67%)3.94s (± 0.78%)~3.90s3.97sp=0.420 n=6
Total Time13.74s (± 0.40%)13.73s (± 0.37%)~13.66s13.79sp=0.688 n=6
material-ui - node (v18.10.0, x64)
Memory used476,418k (± 0.01%)474,542k (± 0.01%)-1,875k (- 0.39%)474,496k474,576kp=0.005 n=6
Parse Time3.16s (± 0.59%)3.17s (± 0.76%)~3.15s3.21sp=0.254 n=6
Bind Time0.97s (± 0.42%)0.97s (± 0.77%)~0.96s0.98sp=0.389 n=6
Check Time17.25s (± 0.23%)17.20s (± 0.52%)~17.09s17.34sp=0.294 n=6
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)~0.00s0.00sp=1.000 n=6
Total Time21.38s (± 0.22%)21.35s (± 0.50%)~21.21s21.52sp=0.470 n=6
xstate - node (v18.10.0, x64)
Memory used548,528k (± 0.03%)548,216k (± 0.01%)-312k (- 0.06%)548,129k548,300kp=0.005 n=6
Parse Time4.07s (± 0.57%)4.08s (± 0.92%)~4.03s4.12sp=0.629 n=6
Bind Time1.72s (± 1.02%)1.73s (± 0.73%)~1.71s1.74sp=0.187 n=6
Check Time2.82s (± 0.59%)2.82s (± 0.83%)~2.78s2.84sp=1.000 n=6
Emit Time0.08s (± 0.00%)0.08s (± 6.19%)~0.08s0.09sp=0.176 n=6
Total Time8.69s (± 0.43%)8.71s (± 0.56%)~8.65s8.76sp=0.572 n=6
Angular - node (v16.17.1, x64)
Memory used359,039k (± 0.01%)359,048k (± 0.01%)~359,004k359,075kp=0.689 n=6
Parse Time3.74s (± 0.37%)3.74s (± 0.55%)~3.70s3.76sp=0.801 n=6
Bind Time1.23s (± 0.33%)1.23s (± 0.61%)~1.22s1.24sp=1.000 n=6
Check Time9.56s (± 0.79%)9.60s (± 0.46%)~9.54s9.64sp=0.335 n=6
Emit Time8.06s (± 0.54%)8.07s (± 0.62%)~7.98s8.13sp=1.000 n=6
Total Time22.59s (± 0.45%)22.64s (± 0.35%)~22.53s22.76sp=0.469 n=6
Compiler-Unions - node (v16.17.1, x64)
Memory used191,533k (± 0.03%)190,951k (± 0.02%)-582k (- 0.30%)190,876k191,007kp=0.005 n=6
Parse Time1.57s (± 0.88%)1.55s (± 1.13%)~1.54s1.58sp=0.366 n=6
Bind Time0.84s (± 0.00%)0.84s (± 0.00%)~0.84s0.84sp=1.000 n=6
Check Time10.12s (± 0.64%)10.08s (± 0.71%)~10.02s10.19sp=0.229 n=6
Emit Time3.05s (± 0.56%)3.05s (± 0.38%)~3.04s3.07sp=1.000 n=6
Total Time15.57s (± 0.44%)15.53s (± 0.47%)~15.44s15.65sp=0.335 n=6
Monaco - node (v16.17.1, x64)
Memory used343,346k (± 0.00%)343,333k (± 0.00%)~343,318k343,347kp=0.173 n=6
Parse Time2.81s (± 0.65%)2.81s (± 0.95%)~2.77s2.85sp=0.627 n=6
Bind Time1.12s (± 0.56%)1.12s (± 0.36%)~1.11s1.12sp=0.673 n=6
Check Time7.80s (± 0.32%)7.81s (± 0.35%)~7.78s7.84sp=0.743 n=6
Emit Time4.54s (± 0.66%)4.52s (± 0.91%)~4.48s4.59sp=0.574 n=6
Total Time16.27s (± 0.05%)16.25s (± 0.54%)~16.18s16.40sp=0.375 n=6
TFS - node (v16.17.1, x64)
Memory used299,418k (± 0.00%)299,420k (± 0.01%)~299,396k299,446kp=0.630 n=6
Parse Time2.19s (± 0.50%)2.19s (± 0.65%)~2.17s2.21sp=1.000 n=6
Bind Time1.26s (± 1.19%)1.26s (± 0.66%)~1.26s1.28sp=0.607 n=6
Check Time7.25s (± 0.51%)7.23s (± 0.45%)~7.18s7.26sp=0.334 n=6
Emit Time4.25s (± 1.22%)4.23s (± 0.81%)~4.18s4.27sp=0.686 n=6
Total Time14.95s (± 0.24%)14.91s (± 0.39%)~14.81s14.97sp=0.332 n=6
material-ui - node (v16.17.1, x64)
Memory used475,716k (± 0.00%)473,839k (± 0.01%)-1,877k (- 0.39%)473,806k473,883kp=0.005 n=6
Parse Time3.34s (± 0.29%)3.33s (± 0.29%)~3.32s3.34sp=0.242 n=6
Bind Time1.02s (± 0.40%)1.03s (± 1.06%)~1.02s1.05sp=0.100 n=6
Check Time18.19s (± 0.51%)18.27s (± 0.96%)~18.12s18.52sp=0.518 n=6
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)~0.00s0.00sp=1.000 n=6
Total Time22.55s (± 0.42%)22.63s (± 0.78%)~22.46s22.88sp=0.574 n=6
xstate - node (v16.17.1, x64)
Memory used546,090k (± 0.02%)545,809k (± 0.02%)-282k (- 0.05%)545,683k545,987kp=0.005 n=6
Parse Time4.25s (± 0.25%)4.26s (± 0.45%)~4.24s4.29sp=0.742 n=6
Bind Time1.81s (± 0.67%)1.81s (± 0.64%)~1.80s1.83sp=0.563 n=6
Check Time3.07s (± 0.44%)3.03s (± 1.38%)~2.98s3.10sp=0.065 n=6
Emit Time0.09s (± 0.00%)0.09s (± 4.45%)~0.09s0.10sp=0.405 n=6
Total Time9.23s (± 0.18%)9.19s (± 0.67%)~9.14s9.31sp=0.065 n=6
Angular - node (v14.15.1, x64)
Memory used352,583k (± 0.01%)352,561k (± 0.00%)~352,551k352,569kp=0.128 n=6
Parse Time3.72s (± 0.71%)3.73s (± 0.52%)~3.70s3.75sp=0.568 n=6
Bind Time1.28s (± 0.32%)1.28s (± 0.40%)~1.28s1.29sp=0.595 n=6
Check Time9.87s (± 0.29%)9.87s (± 0.39%)~9.82s9.93sp=0.936 n=6
Emit Time8.44s (± 0.30%)8.42s (± 0.70%)~8.34s8.49sp=0.810 n=6
Total Time23.32s (± 0.34%)23.30s (± 0.25%)~23.20s23.38sp=0.872 n=6
Compiler-Unions - node (v14.15.1, x64)
Memory used186,691k (± 0.01%)186,570k (± 0.71%)~185,992k189,261kp=0.066 n=6
Parse Time1.58s (± 0.26%)1.58s (± 0.65%)~1.57s1.60sp=0.390 n=6
Bind Time0.85s (± 0.60%)0.85s (± 0.64%)~0.85s0.86sp=0.640 n=6
Check Time10.24s (± 0.65%)10.27s (± 0.37%)~10.22s10.32sp=0.521 n=6
Emit Time3.20s (± 0.67%)3.17s (± 0.86%)-0.03s (- 1.04%)3.14s3.22sp=0.043 n=6
Total Time15.88s (± 0.51%)15.88s (± 0.35%)~15.81s15.96sp=0.936 n=6
Monaco - node (v14.15.1, x64)
Memory used338,187k (± 0.01%)338,197k (± 0.00%)~338,185k338,214kp=0.575 n=6
Parse Time2.90s (± 0.64%)2.89s (± 0.31%)~2.88s2.90sp=0.459 n=6
Bind Time1.12s (± 0.73%)1.12s (± 0.46%)~1.11s1.12sp=0.929 n=6
Check Time8.13s (± 0.59%)8.14s (± 0.53%)~8.10s8.22sp=0.418 n=6
Emit Time4.81s (± 1.02%)4.79s (± 0.49%)~4.75s4.82sp=0.416 n=6
Total Time16.94s (± 0.57%)16.93s (± 0.41%)~16.84s17.04sp=1.000 n=6
TFS - node (v14.15.1, x64)
Memory used294,356k (± 0.01%)294,358k (± 0.01%)~294,331k294,377kp=0.689 n=6
Parse Time2.39s (± 0.53%)2.39s (± 0.98%)~2.36s2.43sp=0.549 n=6
Bind Time1.10s (± 0.94%)1.10s (± 0.74%)~1.09s1.11sp=0.270 n=6
Check Time7.57s (± 0.56%)7.56s (± 0.29%)~7.52s7.58sp=0.686 n=6
Emit Time4.62s (± 0.69%)4.65s (± 0.99%)~4.60s4.71sp=0.376 n=6
Total Time15.68s (± 0.45%)15.69s (± 0.54%)~15.56s15.80sp=0.810 n=6
material-ui - node (v14.15.1, x64)
Memory used471,246k (± 0.00%)469,372k (± 0.00%)-1,874k (- 0.40%)469,349k469,403kp=0.005 n=6
Parse Time3.50s (± 0.21%)3.48s (± 0.43%)~3.46s3.50sp=0.078 n=6
Bind Time1.04s (± 0.72%)1.04s (± 0.53%)~1.03s1.04sp=0.137 n=6
Check Time19.23s (± 0.72%)19.19s (± 0.47%)~19.05s19.30sp=0.810 n=6
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)~0.00s0.00sp=1.000 n=6
Total Time23.77s (± 0.60%)23.71s (± 0.39%)~23.56s23.80sp=0.748 n=6
xstate - node (v14.15.1, x64)
Memory used534,494k (± 0.00%)534,223k (± 0.01%)-271k (- 0.05%)534,178k534,268kp=0.005 n=6
Parse Time4.58s (± 0.30%)4.58s (± 0.21%)~4.57s4.59sp=0.801 n=6
Bind Time1.73s (± 0.48%)1.73s (± 0.44%)~1.72s1.74sp=0.432 n=6
Check Time3.18s (± 0.50%)3.20s (± 1.01%)~3.15s3.23sp=0.334 n=6
Emit Time0.10s (± 0.00%)0.10s (± 0.00%)~0.10s0.10sp=1.000 n=6
Total Time9.59s (± 0.32%)9.61s (± 0.39%)~9.56s9.67sp=0.261 n=6
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.15.1, x64)
Scenarios
  • Angular - node (v18.10.0, x64)
  • Angular - node (v16.17.1, x64)
  • Angular - node (v14.15.1, x64)
  • Compiler-Unions - node (v18.10.0, x64)
  • Compiler-Unions - node (v16.17.1, x64)
  • Compiler-Unions - node (v14.15.1, x64)
  • Monaco - node (v18.10.0, x64)
  • Monaco - node (v16.17.1, x64)
  • Monaco - node (v14.15.1, x64)
  • TFS - node (v18.10.0, x64)
  • TFS - node (v16.17.1, x64)
  • TFS - node (v14.15.1, x64)
  • material-ui - node (v18.10.0, x64)
  • material-ui - node (v16.17.1, x64)
  • material-ui - node (v14.15.1, x64)
  • xstate - node (v18.10.0, x64)
  • xstate - node (v16.17.1, x64)
  • xstate - node (v14.15.1, x64)
BenchmarkNameIterations
Current528916
Baselinemain6

TSServer

Comparison Report - main..52891
Metricmain52891DeltaBestWorstp-value
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen2,391ms (± 1.04%)2,397ms (± 0.74%)~2,364ms2,417msp=0.423 n=6
Req 2 - geterr5,387ms (± 0.38%)5,376ms (± 0.70%)~5,343ms5,439msp=0.575 n=6
Req 3 - references339ms (± 1.39%)339ms (± 0.81%)~334ms341msp=0.936 n=6
Req 4 - navto282ms (± 0.62%)283ms (± 0.98%)~280ms287msp=0.513 n=6
Req 5 - completionInfo count1,356 (± 0.00%)1,356 (± 0.00%)~1,3561,356p=1.000 n=6
Req 5 - completionInfo74ms (± 8.40%)75ms (± 8.98%)~70ms88msp=0.803 n=6
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen2,523ms (± 0.51%)2,511ms (± 0.81%)~2,486ms2,540msp=0.261 n=6
Req 2 - geterr4,040ms (± 0.78%)4,052ms (± 0.57%)~4,025ms4,078msp=0.574 n=6
Req 3 - references353ms (± 0.58%)351ms (± 1.03%)~346ms355msp=0.371 n=6
Req 4 - navto290ms (± 0.48%)290ms (± 0.55%)~288ms292msp=0.456 n=6
Req 5 - completionInfo count1,518 (± 0.00%)1,518 (± 0.00%)~1,5181,518p=1.000 n=6
Req 5 - completionInfo67ms (± 1.21%)68ms (± 0.81%)~67ms68msp=0.859 n=6
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen3,206ms (± 0.55%)3,190ms (± 0.72%)~3,158ms3,213msp=0.468 n=6
Req 2 - geterr1,647ms (± 1.10%)1,687ms (± 1.52%)+40ms (+ 2.45%)1,664ms1,733msp=0.008 n=6
Req 3 - references105ms (± 1.11%)104ms (± 1.89%)~101ms107msp=0.222 n=6
Req 4 - navto361ms (± 1.86%)359ms (± 0.67%)~356ms362msp=0.871 n=6
Req 5 - completionInfo count3,136 (± 0.00%)3,136 (± 0.00%)~3,1363,136p=1.000 n=6
Req 5 - completionInfo426ms (± 0.74%)431ms (± 1.06%)~422ms435msp=0.064 n=6
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen2,535ms (± 0.30%)2,522ms (± 0.59%)~2,501ms2,536msp=0.199 n=6
Req 2 - geterr5,764ms (± 0.23%)5,752ms (± 0.45%)~5,728ms5,797msp=0.230 n=6
Req 3 - references352ms (± 0.55%)354ms (± 1.33%)~349ms362msp=0.746 n=6
Req 4 - navto280ms (± 0.53%)279ms (± 0.66%)~276ms281msp=0.743 n=6
Req 5 - completionInfo count1,356 (± 0.00%)1,356 (± 0.00%)~1,3561,356p=1.000 n=6
Req 5 - completionInfo82ms (± 4.83%)79ms (± 4.52%)~76ms84msp=0.289 n=6
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen2,690ms (± 0.73%)2,698ms (± 0.39%)~2,690ms2,718msp=0.872 n=6
Req 2 - geterr4,382ms (± 0.80%)4,399ms (± 0.58%)~4,359ms4,427msp=0.298 n=6
Req 3 - references365ms (± 0.78%)366ms (± 0.91%)~361ms371msp=0.746 n=6
Req 4 - navto285ms (± 1.41%)283ms (± 0.83%)~280ms287msp=0.326 n=6
Req 5 - completionInfo count1,518 (± 0.00%)1,518 (± 0.00%)~1,5181,518p=1.000 n=6
Req 5 - completionInfo73ms (± 1.03%)73ms (± 0.71%)~72ms73msp=0.241 n=6
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen3,372ms (± 0.39%)3,382ms (± 0.37%)~3,363ms3,398msp=0.230 n=6
Req 2 - geterr1,826ms (± 0.65%)1,899ms (± 4.34%)+73ms (+ 4.00%)1,833ms2,032msp=0.013 n=6
Req 3 - references112ms (± 1.68%)112ms (± 1.60%)~109ms114msp=0.685 n=6
Req 4 - navto346ms (± 1.19%)347ms (± 1.85%)~336ms354msp=0.809 n=6
Req 5 - completionInfo count3,136 (± 0.00%)3,136 (± 0.00%)~3,1363,136p=1.000 n=6
Req 5 - completionInfo436ms (± 1.10%)437ms (± 1.02%)~431ms444msp=0.630 n=6
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen2,619ms (± 0.51%)2,618ms (± 0.66%)~2,596ms2,642msp=1.000 n=6
Req 2 - geterr6,091ms (± 0.38%)6,089ms (± 0.21%)~6,072ms6,107msp=0.748 n=6
Req 3 - references367ms (± 0.94%)367ms (± 0.48%)~365ms369msp=0.868 n=6
Req 4 - navto281ms (± 1.78%)280ms (± 1.66%)~276ms287msp=0.462 n=6
Req 5 - completionInfo count1,356 (± 0.00%)1,356 (± 0.00%)~1,3561,356p=1.000 n=6
Req 5 - completionInfo100ms (± 3.86%)99ms (± 2.33%)~95ms101msp=0.935 n=6
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen2,836ms (± 0.81%)2,843ms (± 0.26%)~2,831ms2,853msp=0.128 n=6
Req 2 - geterr4,668ms (± 1.97%)4,620ms (± 2.67%)~4,437ms4,721msp=0.471 n=6
Req 3 - references381ms (± 0.39%)381ms (± 0.59%)~378ms383msp=0.685 n=6
Req 4 - navto292ms (± 0.70%)293ms (± 1.17%)~290ms298msp=0.935 n=6
Req 5 - completionInfo count1,518 (± 0.00%)1,518 (± 0.00%)~1,5181,518p=1.000 n=6
Req 5 - completionInfo85ms (± 9.62%)86ms (±10.10%)~81ms103msp=1.000 n=6
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen3,687ms (± 0.34%)3,692ms (± 0.39%)~3,674ms3,709msp=0.688 n=6
Req 2 - geterr1,894ms (± 0.69%)1,803ms (± 1.07%)🟩-91ms (- 4.81%)1,781ms1,838msp=0.005 n=6
Req 3 - references125ms (± 2.50%)130ms (± 3.88%)~125ms136msp=0.064 n=6
Req 4 - navto374ms (± 0.96%)374ms (± 0.82%)~368ms376msp=0.870 n=6
Req 5 - completionInfo count3,136 (± 0.00%)3,136 (± 0.00%)~3,1363,136p=1.000 n=6
Req 5 - completionInfo450ms (± 1.94%)461ms (± 1.68%)+12ms (+ 2.59%)454ms472msp=0.030 n=6
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.15.1, x64)
Scenarios
  • Compiler-UnionsTSServer - node (v18.10.0, x64)
  • Compiler-UnionsTSServer - node (v16.17.1, x64)
  • Compiler-UnionsTSServer - node (v14.15.1, x64)
  • CompilerTSServer - node (v18.10.0, x64)
  • CompilerTSServer - node (v16.17.1, x64)
  • CompilerTSServer - node (v14.15.1, x64)
  • xstateTSServer - node (v18.10.0, x64)
  • xstateTSServer - node (v16.17.1, x64)
  • xstateTSServer - node (v14.15.1, x64)
BenchmarkNameIterations
Current528916
Baselinemain6

Startup

Comparison Report - main..52891
Metricmain52891DeltaBestWorstp-value
tsc-startup - node (v16.17.1, x64)
Execution time142.33ms (± 0.23%)142.36ms (± 0.18%)~141.69ms145.30msp=0.275 n=600
tsserver-startup - node (v16.17.1, x64)
Execution time226.60ms (± 0.17%)226.81ms (± 0.17%)+0.21ms (+ 0.09%)225.77ms232.21msp=0.000 n=600
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time228.50ms (± 0.17%)228.52ms (± 0.17%)~227.55ms234.35msp=0.125 n=600
typescript-startup - node (v16.17.1, x64)
Execution time209.16ms (± 0.13%)209.44ms (± 0.18%)+0.28ms (+ 0.13%)208.38ms214.15msp=0.000 n=600
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v16.17.1, x64)
Scenarios
  • tsc-startup - node (v16.17.1, x64)
  • tsserver-startup - node (v16.17.1, x64)
  • tsserverlibrary-startup - node (v16.17.1, x64)
  • typescript-startup - node (v16.17.1, x64)
BenchmarkNameIterations
Current528916
Baselinemain6

Developer Information:

Download Benchmark

@jakebailey

Copy link
Copy Markdown
MemberAuthor

Yeah, this is the diff I expected; the fast paths mentioned aren't actually that fast because isRelatedTo already checks equality. But still, the perf benchmarks appear to indicate that this sorting itself isn't catastrophic, so I'm going to continue with it and get origin types working.

@jakebailey

Copy link
Copy Markdown
MemberAuthor

My hopes for this went away via standup; I completely forgot that intersection ordering determines overload order, and therefore we can't sort intersections at all.

@jakebailey

Copy link
Copy Markdown
MemberAuthor

TypeScript Bot (@typescript-bot) test it

for fun

@typescript-bot

TypeScript Bot (typescript-bot) commented Mar 28, 2024

Copy link
Copy Markdown
Contributor

Starting jobs; this comment will be updated as builds start and complete.

CommandStatusResults
test top400✅ Started👀 Results
user test this✅ Started👀 Results
run dt✅ Started👀 Results
perf test this faster✅ Started👀 Results

@typescript-bot

Copy link
Copy Markdown
Contributor

Hey Jake Bailey (@jakebailey), the results of running the DT tests are ready.

There were interesting changes:

Changes are too big to display here, please check the log.

You can check the log here.

@typescript-bot

Copy link
Copy Markdown
Contributor

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

Here they are:

tsc

Comparison Report - baseline..pr
MetricbaselineprDeltaBestWorstp-value
Angular - node (v18.15.0, x64)
Memory used295,684k (± 0.01%)295,671k (± 0.00%)~295,656k295,684kp=0.377 n=6
Parse Time2.66s (± 0.15%)2.66s (± 0.41%)~2.64s2.67sp=1.000 n=6
Bind Time0.83s (± 1.00%)0.83s (± 0.49%)~0.82s0.83sp=0.115 n=6
Check Time8.24s (± 0.18%)8.22s (± 0.33%)~8.18s8.26sp=0.168 n=6
Emit Time7.03s (± 0.19%)7.03s (± 0.23%)~7.01s7.05sp=0.797 n=6
Total Time18.76s (± 0.14%)18.74s (± 0.18%)~18.70s18.78sp=0.685 n=6
Compiler-Unions - node (v18.15.0, x64)
Memory used193,882k (± 0.96%)193,091k (± 1.02%)~191,268k194,960kp=0.173 n=6
Parse Time1.36s (± 1.21%)1.36s (± 1.23%)~1.35s1.39sp=0.932 n=6
Bind Time0.73s (± 0.56%)0.73s (± 0.71%)~0.72s0.73sp=0.595 n=6
Check Time9.53s (± 0.53%)9.57s (± 0.62%)~9.47s9.65sp=0.229 n=6
Emit Time2.63s (± 0.34%)2.63s (± 0.68%)~2.60s2.65sp=0.804 n=6
Total Time14.24s (± 0.40%)14.29s (± 0.40%)~14.19s14.35sp=0.147 n=6
Monaco - node (v18.15.0, x64)
Memory used347,394k (± 0.00%)347,410k (± 0.01%)~347,380k347,441kp=0.471 n=6
Parse Time2.48s (± 0.30%)2.49s (± 0.41%)~2.47s2.50sp=0.351 n=6
Bind Time0.93s (± 0.44%)0.93s (± 0.56%)~0.92s0.93sp=0.595 n=6
Check Time7.02s (± 0.23%)7.03s (± 0.59%)~6.97s7.09sp=0.519 n=6
Emit Time4.08s (± 0.52%)4.08s (± 0.30%)~4.06s4.09sp=1.000 n=6
Total Time14.51s (± 0.22%)14.52s (± 0.40%)~14.45s14.61sp=1.000 n=6
TFS - node (v18.15.0, x64)
Memory used302,766k (± 0.01%)302,763k (± 0.01%)~302,725k302,791kp=0.810 n=6
Parse Time2.95s (± 1.31%)2.97s (± 0.65%)~2.94s3.00sp=0.417 n=6
Bind Time1.47s (± 0.51%)1.47s (± 0.57%)~1.47s1.49sp=0.652 n=6
Check Time9.27s (± 0.54%)9.24s (± 0.49%)~9.20s9.32sp=0.520 n=6
Emit Time5.30s (± 0.66%)5.32s (± 0.32%)~5.30s5.35sp=0.250 n=6
Total Time18.99s (± 0.43%)19.00s (± 0.30%)~18.94s19.08sp=0.575 n=6
material-ui - node (v18.15.0, x64)
Memory used510,038k (± 0.01%)507,579k (± 0.00%)-2,459k (- 0.48%)507,550k507,597kp=0.005 n=6
Parse Time2.66s (± 0.15%)2.67s (± 0.28%)~2.66s2.68sp=0.100 n=6
Bind Time0.99s (± 1.11%)0.99s (± 1.11%)~0.97s1.00sp=1.000 n=6
Check Time17.34s (± 0.29%)17.35s (± 0.32%)~17.28s17.43sp=0.936 n=6
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)~0.00s0.00sp=1.000 n=6
Total Time21.00s (± 0.22%)21.01s (± 0.29%)~20.93s21.10sp=1.000 n=6
mui-docs - node (v18.15.0, x64)
Memory used1,744,650k (± 0.00%)1,719,445k (± 0.00%)-25,205k (- 1.44%)1,719,411k1,719,475kp=0.005 n=6
Parse Time7.80s (± 0.21%)7.84s (± 0.45%)+0.05s (+ 0.60%)7.81s7.91sp=0.010 n=6
Bind Time2.82s (± 0.70%)2.83s (± 0.66%)~2.79s2.84sp=1.000 n=6
Check Time66.81s (± 0.32%)67.54s (± 0.39%)+0.73s (+ 1.09%)67.17s67.89sp=0.005 n=6
Emit Time0.16s (± 3.29%)0.16s (± 3.29%)~0.15s0.16sp=1.000 n=6
Total Time77.58s (± 0.32%)78.36s (± 0.34%)+0.78s (+ 1.00%)77.96s78.73sp=0.005 n=6
self-build-src - node (v18.15.0, x64)
Memory used2,397,002k (± 0.03%)2,393,513k (± 0.02%)-3,489k (- 0.15%)2,392,775k2,394,055kp=0.005 n=6
Parse Time6.01s (± 0.39%)6.02s (± 1.06%)~5.89s6.07sp=0.334 n=6
Bind Time2.25s (± 1.34%)2.27s (± 0.86%)~2.25s2.30sp=0.126 n=6
Check Time39.82s (± 0.30%)39.85s (± 0.31%)~39.70s40.04sp=0.688 n=6
Emit Time3.17s (± 0.93%)3.15s (± 0.58%)~3.13s3.18sp=0.229 n=6
Total Time51.27s (± 0.33%)51.31s (± 0.25%)~51.19s51.52sp=0.936 n=6
self-compiler - node (v18.15.0, x64)
Memory used415,851k (± 0.01%)413,223k (± 0.02%)-2,628k (- 0.63%)413,173k413,342kp=0.005 n=6
Parse Time3.33s (± 0.94%)3.34s (± 0.41%)~3.33s3.36sp=0.685 n=6
Bind Time1.30s (± 0.58%)1.29s (± 0.76%)~1.28s1.30sp=0.109 n=6
Check Time18.21s (± 0.27%)18.14s (± 0.39%)~18.01s18.20sp=0.064 n=6
Emit Time1.36s (± 1.52%)1.37s (± 1.01%)~1.35s1.39sp=0.678 n=6
Total Time24.21s (± 0.20%)24.14s (± 0.33%)~23.99s24.22sp=0.172 n=6
vscode - node (v18.15.0, x64)
Memory used2,898,211k (± 0.00%)2,897,750k (± 0.00%)-461k (- 0.02%)2,897,700k2,897,781kp=0.005 n=6
Parse Time10.84s (± 0.28%)10.87s (± 0.29%)~10.82s10.91sp=0.253 n=6
Bind Time3.47s (± 0.70%)3.46s (± 0.50%)~3.44s3.49sp=0.514 n=6
Check Time62.14s (± 0.63%)62.15s (± 0.19%)~61.96s62.26sp=0.936 n=6
Emit Time17.09s (± 8.28%)16.49s (± 0.57%)~16.41s16.67sp=0.574 n=6
Total Time93.53s (± 1.79%)92.96s (± 0.17%)~92.66s93.08sp=0.689 n=6
webpack - node (v18.15.0, x64)
Memory used408,927k (± 0.03%)408,898k (± 0.01%)~408,817k408,973kp=0.378 n=6
Parse Time4.81s (± 0.74%)4.79s (± 0.88%)~4.73s4.85sp=0.687 n=6
Bind Time2.07s (± 0.73%)2.05s (± 0.84%)~2.03s2.08sp=0.157 n=6
Check Time20.89s (± 0.41%)20.83s (± 0.38%)~20.72s20.93sp=0.226 n=6
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)~0.00s0.00sp=1.000 n=6
Total Time27.77s (± 0.36%)27.68s (± 0.27%)~27.60s27.78sp=0.090 n=6
xstate - node (v18.15.0, x64)
Memory used513,390k (± 0.01%)513,033k (± 0.01%)-357k (- 0.07%)512,936k513,160kp=0.005 n=6
Parse Time3.28s (± 0.31%)3.28s (± 0.47%)~3.25s3.29sp=0.397 n=6
Bind Time1.57s (± 0.48%)1.57s (± 0.48%)~1.56s1.58sp=0.487 n=6
Check Time2.89s (± 0.71%)2.91s (± 0.88%)~2.86s2.93sp=0.094 n=6
Emit Time0.07s (± 0.00%)0.07s (± 0.00%)~0.07s0.07sp=1.000 n=6
Total Time7.81s (± 0.24%)7.83s (± 0.37%)~7.78s7.86sp=0.227 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • Angular - node (v18.15.0, x64)
  • Compiler-Unions - node (v18.15.0, x64)
  • Monaco - node (v18.15.0, x64)
  • TFS - node (v18.15.0, x64)
  • material-ui - node (v18.15.0, x64)
  • mui-docs - node (v18.15.0, x64)
  • self-build-src - node (v18.15.0, x64)
  • self-compiler - node (v18.15.0, x64)
  • vscode - node (v18.15.0, x64)
  • webpack - node (v18.15.0, x64)
  • xstate - node (v18.15.0, x64)
BenchmarkNameIterations
Currentpr6
Baselinebaseline6

Developer Information:

Download Benchmarks

@typescript-bot

Copy link
Copy Markdown
Contributor

Jake Bailey (@jakebailey) Here are the results of running the user tests comparing main and refs/pull/52891/merge:

Something interesting changed - please have a look.

Details

adonis-framework

/mnt/ts_downloads/_/m/adonis-framework/tsconfig.json

  • [NEW] error TS2322: Type 'string' is not assignable to type 'string & Buffer'.
    • /mnt/ts_downloads/_/m/adonis-framework/node_modules/adonis-framework/src/Encryption/index.js(102,5)
  • [MISSING] error TS2322: Type 'string' is not assignable to type 'Buffer & string'.
    • /mnt/ts_downloads/_/m/adonis-framework/node_modules/adonis-framework/src/Encryption/index.js(102,5)

bluebird

/mnt/ts_downloads/_/m/bluebird/tsconfig.json

  • [NEW] error TS2339: Property 'cordova' does not exist on type 'typeof globalThis & Window'.
    • /mnt/ts_downloads/_/m/bluebird/node_modules/bluebird/js/release/schedule.js(23,52)
  • [MISSING] error TS2339: Property 'cordova' does not exist on type 'Window & typeof globalThis'.
    • /mnt/ts_downloads/_/m/bluebird/node_modules/bluebird/js/release/schedule.js(23,52)

TypeScript-Node-Starter

tsconfig.json

uglify-js

/mnt/ts_downloads/_/m/uglify-js/tsconfig.json

  • [NEW] error TS2339: Property 'directives' does not exist on type 'TreeTransformer & this'.
    • /mnt/ts_downloads/_/m/uglify-js/node_modules/uglify-js/lib/compress.js(134,38)
  • [MISSING] error TS2339: Property 'directives' does not exist on type 'this & TreeTransformer'.
    • /mnt/ts_downloads/_/m/uglify-js/node_modules/uglify-js/lib/compress.js(134,38)

webpack

tsconfig.types.json

  • [NEW] error TS2345: Argument of type '{ chunk: Chunk | undefined; filename: string; contentHash: string | false; } & { url: string; }' is not assignable to parameter of type 'PathData | undefined'.
  • [NEW] error TS2322: Type 'ParserOptions | AssetParserOptions | (ParserOptions & AssetParserOptions) | undefined' is not assignable to type 'ParserOptions'.
  • [MISSING] error TS2345: Argument of type '{ url: string; } & { chunk: Chunk | undefined; filename: string; contentHash: string | false; }' is not assignable to parameter of type 'PathData | undefined'.
  • [MISSING] error TS2322: Type 'ParserOptions | AssetParserOptions | (AssetParserOptions & ParserOptions) | undefined' is not assignable to type 'ParserOptions'.

xterm.js

src/tsconfig-library-base.json

@jakebailey

Copy link
Copy Markdown
MemberAuthor

fun is over, it's not really faster

@typescript-bot

Copy link
Copy Markdown
Contributor

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

Something interesting changed - please have a look.

Details

caprover/caprover

tsconfig.json

desktop/desktop

1 of 4 projects failed to build with the old tsc and were ignored

tsconfig.json

script/tsconfig.json

Eugeny/tabby

11 of 29 projects failed to build with the old tsc and were ignored

tabby-web-demo/tsconfig.json

tabby-terminal/tsconfig.json

tabby-telnet/tsconfig.json

tabby-ssh/tsconfig.json

tabby-settings/tsconfig.json

tabby-serial/tsconfig.json

tabby-plugin-manager/tsconfig.json

tabby-local/tsconfig.json

tabby-linkifier/tsconfig.json

tabby-electron/tsconfig.json

tabby-community-color-schemes/tsconfig.json

facebook/lexical

2 of 6 projects failed to build with the old tsc and were ignored

tsconfig.json

tsconfig.build.json

illacloud/illa-builder

31 of 94 projects failed to build with the old tsc and were ignored

packages/statistic/tsconfig.json

packages/notification/tsconfig.json

packages/message/tsconfig.json

apps/cloud/tsconfig.json

invoke-ai/InvokeAI

invokeai/frontend/web/tsconfig.json

jhipster/generator-jhipster

1 of 3 projects failed to build with the old tsc and were ignored

tsconfig.types.json

tsconfig.json

@typescript-bot

Copy link
Copy Markdown
Contributor

Jake Bailey (@jakebailey) Here are some more interesting changes from running the top 400 repos suite

Details

jupyterlab/jupyterlab

34 of 60 projects failed to build with the old tsc and were ignored

packages/vega5-extension/tsconfig.test.json

packages/ui-components/examples/simple-windowed-list/tsconfig.json

packages/toc/tsconfig.test.json

packages/statusbar/tsconfig.test.json

  • error TS6305: Output file '/mnt/ts_downloads/_/m/jupyterlab/packages/statusbar/lib/statusbar.d.ts' has not been built from source file '/mnt/ts_downloads/_/m/jupyterlab/packages/statusbar/src/statusbar.ts'.
  • error TS6305: Output file '/mnt/ts_downloads/_/m/jupyterlab/packages/statusbar/lib/tokens.d.ts' has not been built from source file '/mnt/ts_downloads/_/m/jupyterlab/packages/statusbar/src/tokens.ts'.
  • error TS6305: Output file '/mnt/ts_downloads/_/m/jupyterlab/packages/statusbar/lib/components/index.d.ts' has not been built from source file '/mnt/ts_downloads/_/m/jupyterlab/packages/statusbar/src/components/index.ts'.
  • error TS2307: Cannot find module '@jupyterlab/statusbar' or its corresponding type declarations.

packages/settingeditor/tsconfig.test.json

packages/services/examples/typescript-browser-with-output/tsconfig.json

packages/rendermime/tsconfig.test.json

packages/mermaid/tsconfig.test.json

packages/mainmenu/tsconfig.test.json

packages/logconsole/tsconfig.test.json

packages/inspector/tsconfig.test.json

packages/imageviewer/tsconfig.test.json

packages/csvviewer/tsconfig.test.json

packages/codeeditor/tsconfig.test.json

@typescript-bot

Copy link
Copy Markdown
Contributor

Jake Bailey (@jakebailey) Here are some more interesting changes from running the top 400 repos suite

Details

lyswhut/lx-music-desktop

2 of 6 projects failed to build with the old tsc and were ignored

src/renderer-lyric/tsconfig.json

src/common/tsconfig.json

mattermost/mattermost

1 of 4 projects failed to build with the old tsc and were ignored

webapp/channels/tsconfig.json

microsoft/vscode

4 of 54 projects failed to build with the old tsc and were ignored

src/tsconfig.tsec.json

src/tsconfig.json

mswjs/msw

12 of 15 projects failed to build with the old tsc and were ignored

src/tsconfig.core.build.json

mui/material-ui

30 of 87 projects failed to build with the old tsc and were ignored

docs/tsconfig.json

pmndrs/jotai

tsconfig.json

  • error TS2379: Argument of type 'AnyWritableAtom & Atom<Value>' is not assignable to parameter of type 'WritableAtom<Value, unknown[], unknown>' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties.

react-bootstrap/react-bootstrap

2 of 3 projects failed to build with the old tsc and were ignored

tsconfig.json

react-navigation/react-navigation

9 of 14 projects failed to build with the old tsc and were ignored

tsconfig.json

  • error TS2322: Type 'ActionHelpers & { addListener: () => () => void; removeListener: () => void; dispatch: () => never; getParent: (id?: string | undefined) => T | (ActionHelpers & Omit<...> & { ...; } & EventConsumer<...> & PrivateValueStore<...>); ... 11 more ...; setParams: ((params: Partial<...>) => void) & (<RouteName extends stri...' is not assignable to type 'ActionHelpers & Omit<NavigationHelpersCommon<ParamListBase, State>, "getParent"> & { getParent<T = NavigationProp<...> | undefined>(id?: string | undefined): T; setParams(params: Partial<...>): void; setOptions(options: Partial<...>): void; } & EventConsumer<...> & PrivateValueStore<...>'.
  • error TS2344: Type 'keyof HomeDrawerParamList' does not satisfy the constraint '"Expected: literal string: Feed, Actual: literal string: Popular" | "Expected: literal string: Feed, Actual: literal string: Latest" | "Expected: literal string: Account, Actual: literal string: Popular" | "Expected: literal string: Account, Actual: literal string: Latest"'.

packages/core/tsconfig.build.json

  • error TS2322: Type 'ActionHelpers & { addListener: () => () => void; removeListener: () => void; dispatch: () => never; getParent: (id?: string | undefined) => T | (ActionHelpers & Omit<...> & { ...; } & EventConsumer<...> & PrivateValueStore<...>); ... 11 more ...; setParams: ((params: Partial<...>) => void) & (<RouteName extends stri...' is not assignable to type 'ActionHelpers & Omit<NavigationHelpersCommon<ParamListBase, State>, "getParent"> & { getParent<T = NavigationProp<...> | undefined>(id?: string | undefined): T; setParams(params: Partial<...>): void; setOptions(options: Partial<...>): void; } & EventConsumer<...> & PrivateValueStore<...>'.

reactjs/react.dev

tsconfig.json

recharts/recharts

tsconfig.json

test/tsconfig.json

storybook/tsconfig.json

demo/tsconfig.json

shoelace-style/shoelace

1 of 2 projects failed to build with the old tsc and were ignored

tsconfig.prod.json

signalapp/Signal-Desktop

1 of 2 projects failed to build with the old tsc and were ignored

sticker-creator/tsconfig.json

supabase/supabase

27 of 33 projects failed to build with the old tsc and were ignored

apps/www/tsconfig.json

apps/studio/tsconfig.json

apps/docs/tsconfig.json

szimek/signature\_pad

tsconfig.json

tremorlabs/tremor

tsconfig.json

trpc/trpc

25 of 32 projects failed to build with the old tsc and were ignored

packages/server/tsconfig.json

packages/server/tsconfig.benchmark.json

ueberdosis/tiptap

3 of 8 projects failed to build with the old tsc and were ignored

tests/cypress/tsconfig.json

demos/tsconfig.vue-3.json

demos/tsconfig.vue-2.json

demos/tsconfig.react.json

demos/tsconfig.base.json

umijs/umi

40 of 65 projects failed to build with the old tsc and were ignored

packages/bundler-utils/tsconfig.json

usablica/intro.js

1 of 3 projects failed to build with the old tsc and were ignored

tsconfig.release.json

tsconfig.json

vercel/hyper

2 of 3 projects failed to build with the old tsc and were ignored

tsconfig.json

  • error TS2502: 'array' is referenced directly or indirectly in its own type annotation.
    • file:///mnt/ts_downloads/_/m/hyper/node_modules/@types/seamless-immutable/index.d.ts#L175 in app/tsconfig.json
    • file:///mnt/ts_downloads/_/m/hyper/node_modules/@types/seamless-immutable/index.d.ts#L179 in app/tsconfig.json
    • file:///mnt/ts_downloads/_/m/hyper/node_modules/@types/seamless-immutable/index.d.ts#L189 in app/tsconfig.json
    • file:///mnt/ts_downloads/_/m/hyper/node_modules/@types/seamless-immutable/index.d.ts#L197 in app/tsconfig.json
    • file:///mnt/ts_downloads/_/m/hyper/node_modules/@types/seamless-immutable/index.d.ts#L206 in app/tsconfig.json
    • file:///mnt/ts_downloads/_/m/hyper/node_modules/@types/seamless-immutable/index.d.ts#L214 in app/tsconfig.json
  • error TS2577: Return type annotation circularly references itself.
    • file:///mnt/ts_downloads/_/m/hyper/node_modules/@types/seamless-immutable/index.d.ts#L180 in app/tsconfig.json
    • file:///mnt/ts_downloads/_/m/hyper/node_modules/@types/seamless-immutable/index.d.ts#L183 in app/tsconfig.json
  • error TS2502: 'arr' is referenced directly or indirectly in its own type annotation.
    • file:///mnt/ts_downloads/_/m/hyper/node_modules/@types/seamless-immutable/index.d.ts#L183 in app/tsconfig.json

vuetifyjs/vuetify

3 of 7 projects failed to build with the old tsc and were ignored

packages/vuetify/tsconfig.json

packages/vuetify/tsconfig.dist.json

packages/vuetify/tsconfig.checks.json

whyour/qinglong

1 of 2 projects failed to build with the old tsc and were ignored

tsconfig.back.json

@microsoftMicrosoft (microsoft) locked as resolved and limited conversation to collaborators Oct 16, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Author: TeamFor Uncommitted BugPR for untriaged, rejected, closed or missing bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@jakebailey@typescript-bot@DanielRosenwasser@fatcerberus