Skip to content

When reporting errors, compute diagnostics even if type relation has cached result - #58859

Merged
Gabriela Araujo Britto (gabritto) merged 9 commits into
mainfrom
gabritto/elaboration
Jul 15, 2024
Merged

When reporting errors, compute diagnostics even if type relation has cached result#58859
Gabriela Araujo Britto (gabritto) merged 9 commits into
mainfrom
gabritto/elaboration

Conversation

@gabritto

@gabrittoGabriela Araujo Britto (gabritto) commented Jun 13, 2024

Copy link
Copy Markdown
Member

Updated version of #55234.
Fixes#3276.

Motivated by #57842.

@gabritto

Copy link
Copy Markdown
MemberAuthor

TypeScript Bot (@typescript-bot) test it

@typescript-bot

TypeScript Bot (typescript-bot) commented Jun 13, 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 Gabriela Araujo Britto (@gabritto), 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

Gabriela Araujo Britto (@gabritto) Here are the results of running the user tests with tsc comparing main and refs/pull/58859/merge:

Something interesting changed - please have a look.

Details

effect

tsconfig.json

tsconfig.base.json

lodash

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

  • [NEW] error TS2740: Type 'SetCache' is missing the following properties from type 'any[]': length, pop, concat, join, and 34 more.
    • /mnt/ts_downloads/_/m/lodash/node_modules/lodash/_baseUniq.js(39,5)
  • [MISSING] error TS2322: Type 'SetCache' is not assignable to type 'any[]'.
    • /mnt/ts_downloads/_/m/lodash/node_modules/lodash/_baseUniq.js(39,5)

xterm.js

src/tsconfig-library-base.json

@typescript-bot

Copy link
Copy Markdown
Contributor

Gabriela Araujo Britto (@gabritto)
The results of the perf run you requested are in!

Here they are:

tsc

Comparison Report - baseline..pr
MetricbaselineprDeltaBestWorstp-value
Compiler-Unions - node (v18.15.0, x64)
Errors3030~~~p=1.000 n=6
Symbols62,15362,153~~~p=1.000 n=6
Types50,24250,242~~~p=1.000 n=6
Memory used192,729k (± 0.78%)193,392k (± 0.98%)~192,152k195,835kp=0.471 n=6
Parse Time1.95s (± 0.82%)1.95s (± 0.39%)~1.94s1.96sp=0.788 n=6
Bind Time1.07s (± 0.76%)1.06s (± 1.41%)~1.05s1.09sp=0.451 n=6
Check Time13.89s (± 0.40%)13.92s (± 0.34%)~13.87s13.98sp=0.422 n=6
Emit Time4.07s (± 3.10%)4.02s (± 0.58%)~3.98s4.05sp=1.000 n=6
Total Time20.98s (± 0.42%)20.95s (± 0.17%)~20.89s21.00sp=0.810 n=6
angular-1 - node (v18.15.0, x64)
Errors55~~~p=1.000 n=6
Symbols944,104944,104~~~p=1.000 n=6
Types407,044407,044~~~p=1.000 n=6
Memory used1,218,275k (± 0.01%)1,218,301k (± 0.00%)~1,218,229k1,218,362kp=0.423 n=6
Parse Time7.94s (± 0.50%)7.97s (± 0.64%)~7.90s8.03sp=0.334 n=6
Bind Time2.23s (± 0.34%)2.23s (± 0.44%)~2.22s2.24sp=0.554 n=6
Check Time35.93s (± 0.32%)35.89s (± 0.27%)~35.76s36.05sp=0.748 n=6
Emit Time16.23s (± 0.31%)16.21s (± 0.47%)~16.09s16.31sp=0.872 n=6
Total Time62.33s (± 0.28%)62.31s (± 0.17%)~62.10s62.40sp=0.747 n=6
mui-docs - node (v18.15.0, x64)
Errors55~~~p=1.000 n=6
Symbols2,132,3012,132,301~~~p=1.000 n=6
Types926,081926,081~~~p=1.000 n=6
Memory used2,114,644k (± 0.00%)2,114,763k (± 0.00%)+119k (+ 0.01%)2,114,728k2,114,867kp=0.005 n=6
Parse Time7.86s (± 0.15%)7.86s (± 0.24%)~7.84s7.89sp=0.684 n=6
Bind Time2.77s (± 0.27%)2.76s (± 0.50%)~2.75s2.78sp=0.740 n=6
Check Time84.38s (± 0.32%)83.94s (± 0.33%)-0.44s (- 0.52%)83.52s84.22sp=0.031 n=6
Emit Time0.16s (± 4.75%)0.16s (± 4.99%)~0.15s0.17sp=0.306 n=6
Total Time95.17s (± 0.28%)94.72s (± 0.30%)-0.45s (- 0.47%)94.30s95.02sp=0.031 n=6
self-build-src - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols1,230,7701,230,758-12 (- 0.00%)~~p=0.001 n=6
Types261,222261,219-3 (- 0.00%)~~p=0.001 n=6
Memory used2,355,243k (± 1.04%)2,345,705k (± 0.06%)~2,343,313k2,346,879kp=0.936 n=6
Parse Time5.99s (± 1.16%)5.95s (± 1.22%)~5.86s6.06sp=0.471 n=6
Bind Time2.24s (± 0.34%)2.25s (± 0.83%)~2.23s2.28sp=0.073 n=6
Check Time39.81s (± 0.20%)39.74s (± 0.37%)~39.53s39.96sp=0.378 n=6
Emit Time3.18s (± 3.90%)3.10s (± 2.88%)~3.00s3.26sp=0.230 n=6
Total Time51.23s (± 0.41%)51.06s (± 0.51%)~50.87s51.57sp=0.173 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols1,230,7701,230,758-12 (- 0.00%)~~p=0.001 n=6
Types261,222261,219-3 (- 0.00%)~~p=0.001 n=6
Memory used2,422,483k (± 0.03%)2,431,708k (± 1.02%)~2,420,791k2,482,249kp=0.298 n=6
Parse Time6.26s (± 0.87%)6.23s (± 0.74%)~6.17s6.29sp=0.298 n=6
Bind Time2.01s (± 0.77%)1.99s (± 0.94%)-0.02s (- 1.16%)1.96s2.01sp=0.048 n=6
Check Time40.15s (± 0.30%)40.18s (± 0.43%)~40.05s40.52sp=0.810 n=6
Emit Time3.14s (± 2.00%)3.12s (± 1.47%)~3.04s3.17sp=0.810 n=6
Total Time51.58s (± 0.32%)51.53s (± 0.35%)~51.39s51.89sp=0.575 n=6
self-compiler - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols258,665258,664-1 (- 0.00%)~~p=0.001 n=6
Types104,938104,935-3 (- 0.00%)~~p=0.001 n=6
Memory used428,300k (± 0.01%)428,268k (± 0.01%)~428,246k428,322kp=0.078 n=6
Parse Time3.30s (± 0.68%)3.31s (± 0.88%)~3.26s3.35sp=0.572 n=6
Bind Time1.30s (± 0.69%)1.29s (± 0.42%)~1.29s1.30sp=0.341 n=6
Check Time18.00s (± 0.29%)17.96s (± 0.16%)~17.91s18.00sp=0.280 n=6
Emit Time1.37s (± 1.49%)1.33s (± 0.41%)-0.03s (- 2.44%)1.33s1.34sp=0.008 n=6
Total Time23.97s (± 0.25%)23.90s (± 0.16%)~23.86s23.95sp=0.053 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors3535~~~p=1.000 n=6
Symbols224,565224,565~~~p=1.000 n=6
Types93,73493,734~~~p=1.000 n=6
Memory used369,414k (± 0.03%)369,569k (± 0.04%)+154k (+ 0.04%)369,468k369,824kp=0.045 n=6
Parse Time2.76s (± 0.88%)2.78s (± 0.95%)~2.74s2.81sp=0.373 n=6
Bind Time1.60s (± 1.51%)1.59s (± 0.73%)~1.58s1.61sp=0.459 n=6
Check Time15.47s (± 0.45%)15.51s (± 0.33%)~15.43s15.57sp=0.227 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time19.84s (± 0.37%)19.88s (± 0.33%)~19.77s19.95sp=0.422 n=6
vscode - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols2,853,8532,853,853~~~p=1.000 n=6
Types968,176968,176~~~p=1.000 n=6
Memory used3,020,552k (± 0.00%)3,020,543k (± 0.00%)~3,020,506k3,020,572kp=0.873 n=6
Parse Time16.82s (± 0.33%)16.76s (± 0.25%)~16.70s16.81sp=0.109 n=6
Bind Time5.09s (± 0.32%)5.09s (± 0.42%)~5.05s5.11sp=0.805 n=6
Check Time88.92s (± 0.54%)89.11s (± 0.69%)~88.16s89.89sp=0.575 n=6
Emit Time28.87s (± 1.37%)28.57s (± 2.39%)~27.61s29.24sp=0.521 n=6
Total Time139.70s (± 0.32%)139.54s (± 0.27%)~138.99s140.06sp=0.378 n=6
webpack - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols266,914266,914~~~p=1.000 n=6
Types108,685108,685~~~p=1.000 n=6
Memory used411,295k (± 0.01%)411,377k (± 0.02%)+82k (+ 0.02%)411,313k411,485kp=0.031 n=6
Parse Time4.71s (± 0.71%)4.69s (± 0.43%)~4.66s4.72sp=0.292 n=6
Bind Time2.07s (± 0.36%)2.06s (± 0.66%)~2.04s2.08sp=0.273 n=6
Check Time20.85s (± 0.55%)20.86s (± 0.30%)~20.78s20.92sp=1.000 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time27.63s (± 0.33%)27.61s (± 0.19%)~27.54s27.68sp=0.470 n=6
xstate-main - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols523,429523,429~~~p=1.000 n=6
Types177,955177,955~~~p=1.000 n=6
Memory used461,458k (± 0.08%)461,891k (± 0.01%)~461,827k461,946kp=0.173 n=6
Parse Time2.62s (± 0.38%)2.63s (± 0.61%)~2.61s2.65sp=0.271 n=6
Bind Time0.99s (± 0.64%)0.99s (± 0.41%)~0.98s0.99sp=0.673 n=6
Check Time15.25s (± 0.66%)15.27s (± 0.46%)~15.21s15.41sp=0.420 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time18.86s (± 0.52%)18.89s (± 0.34%)~18.83s19.01sp=0.261 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • Compiler-Unions - node (v18.15.0, x64)
  • angular-1 - node (v18.15.0, x64)
  • mui-docs - node (v18.15.0, x64)
  • self-build-src - node (v18.15.0, x64)
  • self-build-src-public-api - node (v18.15.0, x64)
  • self-compiler - node (v18.15.0, x64)
  • ts-pre-modules - node (v18.15.0, x64)
  • vscode - node (v18.15.0, x64)
  • webpack - node (v18.15.0, x64)
  • xstate-main - node (v18.15.0, x64)
BenchmarkNameIterations
Currentpr6
Baselinebaseline6

Developer Information:

Download Benchmarks

@typescript-bot

Copy link
Copy Markdown
Contributor

Gabriela Araujo Britto (@gabritto) Here are the results of running the top 400 repos with tsc comparing main and refs/pull/58859/merge:

Everything looks good!

@gabritto

Copy link
Copy Markdown
MemberAuthor

It doesn't seem like the case of reporting the same assignability error more than once is that frequent, since there were only 3 changes in user tests, none in top 400, and no perf impact.

Two things I want to do, though:

  • Special case type comparison "overflow" cases so that we don't do the comparison again.
  • Maybe only have this consistent assignability elaboration when we know we are in an editor scenario, if that's possible.

@gabritto

Copy link
Copy Markdown
MemberAuthor

TypeScript Bot (@typescript-bot) test top800

@typescript-bot

TypeScript Bot (typescript-bot) commented Jun 14, 2024

Copy link
Copy Markdown
Contributor

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

CommandStatusResults
test top800✅ Started✅ Results

@typescript-bot

Copy link
Copy Markdown
Contributor

Gabriela Araujo Britto (@gabritto) Here are the results of running the top 800 repos with tsc comparing main and refs/pull/58859/merge:

Everything looks good!

@gabritto

Copy link
Copy Markdown
MemberAuthor

TypeScript Bot (@typescript-bot) perf test this
TypeScript Bot (@typescript-bot) test top800

@typescript-bot

TypeScript Bot (typescript-bot) commented Jul 10, 2024

Copy link
Copy Markdown
Contributor

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

CommandStatusResults
perf test this✅ Started👀 Results
test top800✅ Started✅ Results

@gabrittoGabriela Araujo Britto (gabritto) changed the title Make assignability error elaboration consistentMake type comparison error elaboration consistentJul 10, 2024
@gabritto

Copy link
Copy Markdown
MemberAuthor

TypeScript Bot (@typescript-bot) user test this

@typescript-bot

TypeScript Bot (typescript-bot) commented Jul 10, 2024

Copy link
Copy Markdown
Contributor

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

CommandStatusResults
user test this✅ Started👀 Results

@typescript-botTypeScript Bot (typescript-bot) removed the For Uncommitted Bug PR for untriaged, rejected, closed or missing bug label Jul 10, 2024
@typescript-botTypeScript Bot (typescript-bot) added the For Backlog Bug PRs that fix a backlog bug label Jul 10, 2024
@typescript-bot

Copy link
Copy Markdown
Contributor

Gabriela Araujo Britto (@gabritto)
The results of the perf run you requested are in!

Here they are:

tsc

Comparison Report - baseline..pr
MetricbaselineprDeltaBestWorstp-value
Compiler-Unions - node (v18.15.0, x64)
Errors3030~~~p=1.000 n=6
Symbols62,15362,153~~~p=1.000 n=6
Types50,24250,242~~~p=1.000 n=6
Memory used193,916k (± 1.00%)192,162k (± 0.03%)~192,077k192,226kp=0.298 n=6
Parse Time1.96s (± 0.43%)1.95s (± 0.70%)~1.93s1.96sp=0.262 n=6
Bind Time1.05s (± 0.79%)1.05s (± 1.11%)~1.04s1.07sp=0.555 n=6
Check Time13.85s (± 0.61%)13.86s (± 0.31%)~13.78s13.90sp=0.570 n=6
Emit Time4.03s (± 0.57%)4.04s (± 1.16%)~3.95s4.08sp=0.373 n=6
Total Time20.89s (± 0.46%)20.90s (± 0.17%)~20.84s20.95sp=0.688 n=6
angular-1 - node (v18.15.0, x64)
Errors55~~~p=1.000 n=6
Symbols944,114944,114~~~p=1.000 n=6
Types407,050407,050~~~p=1.000 n=6
Memory used1,218,369k (± 0.00%)1,218,341k (± 0.00%)~1,218,306k1,218,388kp=0.230 n=6
Parse Time7.94s (± 0.50%)7.97s (± 0.65%)~7.93s8.07sp=0.226 n=6
Bind Time2.22s (± 0.66%)2.23s (± 0.57%)~2.22s2.25sp=0.198 n=6
Check Time35.77s (± 0.23%)35.88s (± 0.29%)~35.75s36.04sp=0.078 n=6
Emit Time16.21s (± 0.82%)16.15s (± 0.26%)~16.10s16.21sp=0.687 n=6
Total Time62.14s (± 0.13%)62.23s (± 0.24%)~62.01s62.43sp=0.296 n=6
mui-docs - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols2,130,2962,130,296~~~p=1.000 n=6
Types927,656927,656~~~p=1.000 n=6
Memory used2,107,135k (± 0.01%)2,107,141k (± 0.01%)~2,107,047k2,107,310kp=1.000 n=6
Parse Time7.82s (± 0.36%)7.81s (± 0.40%)~7.75s7.83sp=0.324 n=6
Bind Time2.74s (± 0.56%)2.73s (± 0.95%)~2.69s2.76sp=0.565 n=6
Check Time83.40s (± 0.35%)83.55s (± 0.35%)~83.20s84.07sp=0.688 n=6
Emit Time0.16s (± 4.75%)0.16s (± 3.29%)~0.15s0.16sp=0.784 n=6
Total Time94.12s (± 0.32%)94.25s (± 0.31%)~93.94s94.79sp=0.748 n=6
self-build-src - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols1,225,7841,225,809+25 (+ 0.00%)~~p=0.001 n=6
Types261,518261,522+4 (+ 0.00%)~~p=0.001 n=6
Memory used2,338,907k (± 0.02%)2,339,004k (± 0.05%)~2,338,265k2,341,142kp=0.575 n=6
Parse Time7.56s (± 0.66%)7.54s (± 0.57%)~7.49s7.62sp=0.688 n=6
Bind Time2.81s (± 0.83%)2.80s (± 0.73%)~2.77s2.83sp=0.935 n=6
Check Time49.50s (± 0.30%)49.52s (± 0.28%)~49.41s49.75sp=0.471 n=6
Emit Time4.76s (± 1.61%)4.73s (± 1.26%)~4.66s4.82sp=0.423 n=6
Total Time64.63s (± 0.31%)64.60s (± 0.27%)~64.43s64.91sp=0.936 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols1,225,7841,225,809+25 (+ 0.00%)~~p=0.001 n=6
Types261,518261,522+4 (+ 0.00%)~~p=0.001 n=6
Memory used2,412,730k (± 0.02%)2,413,490k (± 0.02%)+761k (+ 0.03%)2,412,408k2,413,863kp=0.045 n=6
Parse Time7.89s (± 0.48%)7.83s (± 0.80%)~7.75s7.91sp=0.128 n=6
Bind Time2.51s (± 0.59%)2.53s (± 0.92%)~2.50s2.57sp=0.222 n=6
Check Time50.12s (± 0.23%)50.13s (± 0.25%)~49.92s50.27sp=0.575 n=6
Emit Time4.88s (± 1.22%)4.79s (± 1.00%)-0.10s (- 2.01%)4.72s4.84sp=0.019 n=6
Total Time65.41s (± 0.23%)65.29s (± 0.23%)~65.02s65.40sp=0.378 n=6
self-compiler - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols258,268258,271+3 (+ 0.00%)~~p=0.001 n=6
Types104,775104,779+4 (+ 0.00%)~~p=0.001 n=6
Memory used427,125k (± 0.03%)427,113k (± 0.01%)~427,043k427,221kp=0.575 n=6
Parse Time3.29s (± 0.78%)3.29s (± 0.61%)~3.26s3.32sp=0.746 n=6
Bind Time1.30s (± 1.05%)1.32s (± 1.04%)~1.29s1.33sp=0.142 n=6
Check Time17.77s (± 0.40%)17.82s (± 0.29%)~17.72s17.86sp=0.296 n=6
Emit Time1.64s (± 0.46%)1.60s (± 0.75%)-0.03s (- 2.14%)1.59s1.62sp=0.005 n=6
Total Time24.00s (± 0.39%)24.03s (± 0.24%)~23.94s24.08sp=0.748 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors3535~~~p=1.000 n=6
Symbols224,565224,565~~~p=1.000 n=6
Types93,73493,734~~~p=1.000 n=6
Memory used369,534k (± 0.04%)369,523k (± 0.04%)~369,388k369,814kp=0.936 n=6
Parse Time2.78s (± 1.58%)2.77s (± 1.04%)~2.74s2.81sp=0.684 n=6
Bind Time1.59s (± 1.08%)1.59s (± 0.76%)~1.58s1.61sp=0.459 n=6
Check Time15.52s (± 0.39%)15.51s (± 0.41%)~15.41s15.59sp=1.000 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time19.89s (± 0.24%)19.87s (± 0.32%)~19.76s19.93sp=0.748 n=6
vscode - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols2,889,3412,889,341~~~p=1.000 n=6
Types977,546977,546~~~p=1.000 n=6
Memory used3,052,777k (± 0.00%)3,052,788k (± 0.00%)~3,052,700k3,052,869kp=0.575 n=6
Parse Time16.81s (± 0.32%)16.84s (± 0.49%)~16.71s16.95sp=0.688 n=6
Bind Time5.11s (± 0.27%)5.11s (± 0.53%)~5.08s5.14sp=1.000 n=6
Check Time92.35s (± 2.99%)91.35s (± 2.88%)~89.34s94.74sp=0.229 n=6
Emit Time27.01s (± 9.59%)27.65s (± 8.98%)~24.34s29.48sp=0.810 n=6
Total Time141.29s (± 0.16%)140.95s (± 0.23%)~140.39s141.32sp=0.066 n=6
webpack - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols267,235267,235~~~p=1.000 n=6
Types108,815108,815~~~p=1.000 n=6
Memory used411,783k (± 0.01%)411,811k (± 0.01%)~411,775k411,856kp=0.298 n=6
Parse Time3.19s (± 0.74%)3.20s (± 0.47%)~3.17s3.21sp=0.461 n=6
Bind Time1.40s (± 0.58%)1.41s (± 0.59%)~1.39s1.41sp=0.718 n=6
Check Time14.19s (± 0.29%)14.22s (± 0.37%)~14.15s14.29sp=0.296 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time18.78s (± 0.31%)18.82s (± 0.28%)~18.75s18.88sp=0.199 n=6
xstate-main - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols525,251525,251~~~p=1.000 n=6
Types178,574178,574~~~p=1.000 n=6
Memory used462,958k (± 0.08%)463,184k (± 0.02%)~463,030k463,293kp=0.471 n=6
Parse Time2.66s (± 0.57%)2.65s (± 0.41%)~2.64s2.67sp=0.618 n=6
Bind Time0.98s (± 0.84%)0.98s (± 0.53%)~0.97s0.98sp=0.929 n=6
Check Time15.19s (± 0.35%)15.20s (± 0.27%)~15.16s15.27sp=0.810 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time18.82s (± 0.29%)18.83s (± 0.24%)~18.78s18.91sp=0.747 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • Compiler-Unions - node (v18.15.0, x64)
  • angular-1 - node (v18.15.0, x64)
  • mui-docs - node (v18.15.0, x64)
  • self-build-src - node (v18.15.0, x64)
  • self-build-src-public-api - node (v18.15.0, x64)
  • self-compiler - node (v18.15.0, x64)
  • ts-pre-modules - node (v18.15.0, x64)
  • vscode - node (v18.15.0, x64)
  • webpack - node (v18.15.0, x64)
  • xstate-main - node (v18.15.0, x64)
BenchmarkNameIterations
Currentpr6
Baselinebaseline6

tsserver

Comparison Report - baseline..pr
MetricbaselineprDeltaBestWorstp-value
Compiler-UnionsTSServer - node (v18.15.0, x64)
Req 1 - updateOpen2,295ms (± 0.18%)2,292ms (± 0.60%)~2,271ms2,306msp=0.873 n=6
Req 2 - geterr5,082ms (± 0.77%)5,080ms (± 0.29%)~5,054ms5,093msp=0.810 n=6
Req 3 - references265ms (± 0.44%)265ms (± 0.28%)~264ms266msp=0.933 n=6
Req 4 - navto227ms (± 1.20%)228ms (± 0.18%)~227ms228msp=0.474 n=6
Req 5 - completionInfo count1,3571,357~~~p=1.000 n=6
Req 5 - completionInfo91ms (± 5.94%)93ms (± 2.49%)~91ms97msp=0.934 n=6
CompilerTSServer - node (v18.15.0, x64)
Req 1 - updateOpen3,575ms (± 1.02%)3,583ms (± 1.53%)~3,525ms3,657msp=0.688 n=6
Req 2 - geterr5,539ms (± 0.59%)5,548ms (± 0.28%)~5,526ms5,569msp=0.810 n=6
Req 3 - references418ms (± 0.33%)417ms (± 0.33%)~415ms419msp=0.253 n=6
Req 4 - navto338ms (± 0.71%)339ms (± 1.03%)~336ms346msp=0.319 n=6
Req 5 - completionInfo count1,5191,519~~~p=1.000 n=6
Req 5 - completionInfo109ms (± 2.59%)109ms (± 2.78%)~103ms111msp=0.858 n=6
xstate-main-1-tsserver - node (v18.15.0, x64)
Req 1 - updateOpen5,187ms (± 0.69%)5,205ms (± 0.50%)~5,183ms5,255msp=0.689 n=6
Req 2 - geterr1,125ms (± 1.27%)1,120ms (± 0.94%)~1,111ms1,138msp=0.688 n=6
Req 3 - references80ms (± 5.27%)77ms (± 3.11%)~76ms82msp=0.325 n=6
Req 4 - navto456ms (± 0.38%)458ms (± 0.26%)~457ms460msp=0.081 n=6
Req 5 - completionInfo count3,4133,413~~~p=1.000 n=6
Req 5 - completionInfo842ms (± 1.72%)834ms (± 1.76%)~819ms856msp=0.336 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • CompilerTSServer - node (v18.15.0, x64)
  • Compiler-UnionsTSServer - node (v18.15.0, x64)
  • xstate-main-1-tsserver - node (v18.15.0, x64)
BenchmarkNameIterations
Currentpr6
Baselinebaseline6

startup

Comparison Report - baseline..pr
MetricbaselineprDeltaBestWorstp-value
tsc-startup - node (v18.15.0, x64)
Execution time157.04ms (± 0.18%)156.88ms (± 0.17%)-0.16ms (- 0.10%)155.74ms161.19msp=0.000 n=600
tsserver-startup - node (v18.15.0, x64)
Execution time232.00ms (± 0.13%)232.11ms (± 0.16%)+0.11ms (+ 0.05%)230.57ms237.89msp=0.014 n=600
tsserverlibrary-startup - node (v18.15.0, x64)
Execution time226.37ms (± 0.16%)226.23ms (± 0.14%)-0.14ms (- 0.06%)224.58ms228.25msp=0.000 n=600
typescript-startup - node (v18.15.0, x64)
Execution time225.97ms (± 0.17%)226.15ms (± 0.20%)+0.18ms (+ 0.08%)224.42ms234.03msp=0.000 n=600
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • tsc-startup - node (v18.15.0, x64)
  • tsserver-startup - node (v18.15.0, x64)
  • tsserverlibrary-startup - node (v18.15.0, x64)
  • typescript-startup - node (v18.15.0, x64)
BenchmarkNameIterations
Currentpr6
Baselinebaseline6

Developer Information:

Download Benchmarks

@typescript-bot

Copy link
Copy Markdown
Contributor

Gabriela Araujo Britto (@gabritto) Here are the results of running the user tests with tsc comparing main and refs/pull/58859/merge:

Something interesting changed - please have a look.

Details

effect

tsconfig.json

tsconfig.build.json

tsconfig.base.json

lodash

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

  • [NEW] error TS2740: Type 'SetCache' is missing the following properties from type 'any[]': length, pop, concat, join, and 34 more.
    • /mnt/ts_downloads/_/m/lodash/node_modules/lodash/_baseUniq.js(39,5)
  • [MISSING] error TS2322: Type 'SetCache' is not assignable to type 'any[]'.
    • /mnt/ts_downloads/_/m/lodash/node_modules/lodash/_baseUniq.js(39,5)

xterm.js

src/tsconfig-library-base.json

@typescript-bot

Copy link
Copy Markdown
Contributor

Gabriela Araujo Britto (@gabritto) Here are the results of running the top 800 repos with tsc comparing main and refs/pull/58859/merge:

Everything looks good!

@gabritto
Gabriela Araujo Britto (gabritto) marked this pull request as ready for review July 11, 2024 00:43

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.

Perf still looks fine, baselines look good, and I already approved the old version of the PR :)

@gabritto
Gabriela Araujo Britto (gabritto) deleted the gabritto/elaboration branch July 15, 2024 18:11
@gabrittoGabriela Araujo Britto (gabritto) changed the title Make type comparison error elaboration consistenthttps://github.com/microsoft/TypeScript/pull/58220Jul 10, 2025
@microsoftMicrosoft (microsoft) locked as resolved and limited conversation to collaborators Jan 7, 2026
@gabrittoGabriela Araujo Britto (gabritto) changed the title https://github.com/microsoft/TypeScript/pull/58220When reporting errors, compute diagnostics even if type relation has cached resultAug 4, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Author: TeamFor Backlog BugPRs that fix a backlog bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Diagnostic elaboration is not consistently reported in language service

4 participants

@gabritto@typescript-bot@weswigham@jakebailey