Skip to content

Prefer non-partial signature match in non-generic case - #55447

Merged
Nathan Shively-Sanders (sandersn) merged 2 commits into
microsoft:mainfrom
Andarist:prefer-non-partial-match-when-creating-union-signature
Nov 30, 2023
Merged

Prefer non-partial signature match in non-generic case#55447
Nathan Shively-Sanders (sandersn) merged 2 commits into
microsoft:mainfrom
Andarist:prefer-non-partial-match-when-creating-union-signature

Conversation

@Andarist

Copy link
Copy Markdown
Contributor

fixes#55203

@weswigham

Copy link
Copy Markdown
Member

@typescript-bot

TypeScript Bot (typescript-bot) commented Sep 13, 2023

Copy link
Copy Markdown
Contributor

Heya Wesley Wigham (@weswigham), I've started to run the regular perf test suite on this PR at 54b5ad0. You can monitor the build here.

Update: The results are in!

@typescript-bot

TypeScript Bot (typescript-bot) commented Sep 13, 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 54b5ad0. You can monitor the build here.

Update: The results are in!

@typescript-bot

TypeScript Bot (typescript-bot) commented Sep 13, 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 54b5ad0. You can monitor the build here.

Update: The results are in!

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.

I think this is good, but since it affects overload resolution (admittedly in an edge case when we're talking about union overloads), it might have knock-on effects in the wild, so we'll have to make sure the extended test suites come back OK.

@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 - baseline..pr
MetricbaselineprDeltaBestWorstp-value
Angular - node (v16.17.1, x64)
Memory used300,257k (± 0.01%)300,273k (± 0.01%)~300,263k300,308kp=0.373 n=6
Parse Time3.00s (± 0.17%)3.01s (± 0.18%)~3.00s3.01sp=0.640 n=6
Bind Time0.93s (± 0.00%)0.93s (± 0.00%)~0.93s0.93sp=1.000 n=6
Check Time9.30s (± 0.09%)9.33s (± 0.36%)~9.29s9.37sp=0.289 n=6
Emit Time7.61s (± 0.43%)7.64s (± 0.30%)~7.60s7.66sp=0.169 n=6
Total Time20.85s (± 0.15%)20.90s (± 0.21%)~20.83s20.94sp=0.064 n=6
Compiler-Unions - node (v16.17.1, x64)
Memory used194,362k (± 0.53%)194,474k (± 0.67%)~193,923k197,118kp=1.000 n=6
Parse Time1.58s (± 0.00%)1.58s (± 0.00%)~1.58s1.58sp=1.000 n=6
Bind Time0.79s (± 0.69%)0.80s (± 0.51%)~0.79s0.80sp=0.282 n=6
Check Time9.96s (± 0.48%)9.95s (± 0.23%)~9.93s9.99sp=0.871 n=6
Emit Time2.74s (± 0.33%)2.74s (± 0.15%)~2.73s2.74sp=0.787 n=6
Total Time15.07s (± 0.30%)15.07s (± 0.16%)~15.04s15.10sp=0.936 n=6
Monaco - node (v16.17.1, x64)
Memory used347,201k (± 0.01%)347,172k (± 0.01%)~347,130k347,218kp=0.173 n=6
Parse Time2.68s (± 0.30%)2.69s (± 0.45%)~2.67s2.70sp=0.652 n=6
Bind Time0.99s (± 0.41%)0.99s (± 0.00%)~0.99s0.99sp=0.405 n=6
Check Time7.93s (± 0.10%)7.93s (± 0.26%)~7.91s7.96sp=0.805 n=6
Emit Time4.26s (± 0.35%)4.27s (± 0.41%)~4.25s4.30sp=0.328 n=6
Total Time15.86s (± 0.13%)15.88s (± 0.15%)~15.84s15.91sp=0.222 n=6
TFS - node (v16.17.1, x64)
Memory used301,188k (± 0.01%)301,178k (± 0.00%)~301,172k301,186kp=0.128 n=6
Parse Time2.19s (± 0.75%)2.17s (± 0.45%)~2.16s2.18sp=0.111 n=6
Bind Time1.08s (± 6.41%)1.11s (± 0.46%)~1.11s1.12sp=0.114 n=6
Check Time7.22s (± 0.35%)7.21s (± 0.20%)~7.19s7.23sp=0.514 n=6
Emit Time3.99s (± 0.54%)3.99s (± 0.20%)~3.97s3.99sp=0.932 n=6
Total Time14.47s (± 0.51%)14.48s (± 0.14%)~14.46s14.52sp=0.573 n=6
material-ui - node (v16.17.1, x64)
Memory used479,547k (± 0.00%)479,555k (± 0.01%)~479,483k479,589kp=0.297 n=6
Parse Time3.15s (± 0.24%)3.15s (± 0.20%)~3.14s3.16sp=0.718 n=6
Bind Time0.91s (± 0.00%)0.91s (± 0.45%)~0.90s0.91sp=0.405 n=6
Check Time17.83s (± 0.28%)17.87s (± 0.26%)~17.81s17.92sp=0.295 n=6
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)~0.00s0.00sp=1.000 n=6
Total Time21.89s (± 0.23%)21.93s (± 0.23%)~21.87s21.99sp=0.336 n=6
xstate - node (v16.17.1, x64)
Memory used542,960k (± 0.03%)542,955k (± 0.01%)~542,880k543,044kp=0.298 n=6
Parse Time3.70s (± 0.24%)3.68s (± 0.33%)-0.02s (- 0.45%)3.67s3.70sp=0.039 n=6
Bind Time1.38s (± 4.31%)1.46s (± 0.28%)+0.08s (+ 5.80%)1.45s1.46sp=0.018 n=6
Check Time3.27s (± 2.62%)3.18s (± 0.31%)~3.17s3.19sp=0.169 n=6
Emit Time0.08s (± 6.19%)0.09s (± 6.44%)~0.08s0.09sp=0.640 n=6
Total Time8.44s (± 0.40%)8.40s (± 0.18%)~8.38s8.42sp=0.123 n=6
System info unknown
Hosts
  • node (v16.17.1, x64)
Scenarios
  • Angular - node (v16.17.1, x64)
  • Compiler-Unions - node (v16.17.1, x64)
  • Monaco - node (v16.17.1, x64)
  • TFS - node (v16.17.1, x64)
  • material-ui - node (v16.17.1, x64)
  • xstate - node (v16.17.1, x64)
BenchmarkNameIterations
Currentpr6
Baselinebaseline6

tsserver

Comparison Report - baseline..pr
MetricbaselineprDeltaBestWorstp-value
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen2,488ms (± 0.15%)2,490ms (± 0.05%)~2,488ms2,491msp=0.459 n=6
Req 2 - geterr5,942ms (± 0.36%)5,947ms (± 0.24%)~5,929ms5,962msp=0.378 n=6
Req 3 - references344ms (± 0.37%)344ms (± 0.34%)~343ms346msp=0.801 n=6
Req 4 - navto277ms (± 0.98%)276ms (± 0.30%)~275ms277msp=0.548 n=6
Req 5 - completionInfo count1,356 (± 0.00%)1,356 (± 0.00%)~1,3561,356p=1.000 n=6
Req 5 - completionInfo80ms (± 4.13%)82ms (± 8.08%)~76ms94msp=0.739 n=6
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen2,643ms (± 1.73%)2,610ms (± 0.61%)~2,585ms2,631msp=0.173 n=6
Req 2 - geterr4,780ms (± 0.18%)4,769ms (± 0.22%)~4,759ms4,783msp=0.109 n=6
Req 3 - references351ms (± 0.16%)351ms (± 0.16%)~350ms351msp=1.000 n=6
Req 4 - navto268ms (± 0.51%)269ms (± 0.00%)~269ms269msp=0.293 n=6
Req 5 - completionInfo count1,518 (± 0.00%)1,518 (± 0.00%)~1,5181,518p=1.000 n=6
Req 5 - completionInfo79ms (± 1.04%)79ms (± 0.52%)~78ms79msp=1.000 n=6
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen2,707ms (± 0.20%)2,708ms (± 0.16%)~2,702ms2,714msp=0.747 n=6
Req 2 - geterr1,968ms (± 1.47%)1,975ms (± 0.66%)~1,952ms1,987msp=0.936 n=6
Req 3 - references135ms (± 1.87%)138ms (± 2.73%)~131ms141msp=0.107 n=6
Req 4 - navto358ms (± 0.45%)361ms (± 0.87%)~357ms365msp=0.081 n=6
Req 5 - completionInfo count2,071 (± 0.00%)2,071 (± 0.00%)~2,0712,071p=1.000 n=6
Req 5 - completionInfo320ms (± 1.54%)328ms (± 1.30%)+8ms (+ 2.40%)319ms330msp=0.049 n=6
System info unknown
Hosts
  • node (v16.17.1, x64)
Scenarios
  • CompilerTSServer - node (v16.17.1, x64)
  • Compiler-UnionsTSServer - node (v16.17.1, x64)
  • xstateTSServer - node (v16.17.1, x64)
BenchmarkNameIterations
Currentpr6
Baselinebaseline6

Startup

Comparison Report - baseline..pr
MetricbaselineprDeltaBestWorstp-value
tsc-startup - node (v16.17.1, x64)
Execution time156.55ms (± 0.21%)156.68ms (± 0.19%)+0.12ms (+ 0.08%)154.72ms160.63msp=0.006 n=600
tsserver-startup - node (v16.17.1, x64)
Execution time230.91ms (± 0.12%)231.61ms (± 0.19%)+0.70ms (+ 0.30%)230.05ms245.94msp=0.000 n=600
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time235.51ms (± 0.13%)236.09ms (± 0.15%)+0.58ms (+ 0.24%)234.72ms243.24msp=0.000 n=600
typescript-startup - node (v16.17.1, x64)
Execution time235.63ms (± 0.14%)235.71ms (± 0.13%)+0.08ms (+ 0.03%)234.29ms244.51msp=0.001 n=600
System info unknown
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
Currentpr6
Baselinebaseline6

Developer Information:

Download Benchmarks

@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/55447/merge:

Everything looks good!

@typescript-bot

Copy link
Copy Markdown
Contributor

Hey Wesley Wigham (@weswigham), it looks like the DT test run failed. Please check the log for more details.
You can check the log here.

@sandersn
Nathan Shively-Sanders (sandersn) merged commit 0a87761 into microsoft:mainNov 30, 2023
@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

For Backlog BugPRs that fix a backlog bug

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

5 participants

@Andarist@weswigham@typescript-bot@sandersn@gabritto