Add an early bail when structurally comparing similar types#42726
Add an early bail when structurally comparing similar types#42726weswigham wants to merge 3 commits intomicrosoft:mainfrom
Conversation
… the middle of a more general comparison of those same types
|
@typescript-bot perf test this |
|
Heya @weswigham, I've started to run the tarball bundle task on this PR at b3856bd. You can monitor the build here. |
|
Heya @weswigham, I've started to run the perf test suite on this PR at b3856bd. You can monitor the build here. Update: The results are in! |
|
Heya @weswigham, I've started to run the extended test suite on this PR at b3856bd. You can monitor the build here. |
|
Heya @weswigham, I've started to run the parallelized community code test suite on this PR at b3856bd. You can monitor the build here. |
|
Heya @weswigham, I've started to run the parallelized Definitely Typed test suite on this PR at b3856bd. You can monitor the build here. |
|
The user suite test run you requested has finished and failed. I've opened a PR with the baseline diff from master. |
…adjust logic to match
|
@typescript-bot perf test this Had to make a small adjustment to the logic; alias symbols and type references aren't mutually exclusive anymore, so we have to check for type reference-ness first. |
|
Heya @weswigham, I've started to run the tarball bundle task on this PR at 4a8ef89. You can monitor the build here. |
|
Heya @weswigham, I've started to run the parallelized Definitely Typed test suite on this PR at 4a8ef89. You can monitor the build here. |
|
Heya @weswigham, I've started to run the extended test suite on this PR at 4a8ef89. You can monitor the build here. |
|
Heya @weswigham, I've started to run the perf test suite on this PR at 4a8ef89. You can monitor the build here. Update: The results are in! |
|
Heya @weswigham, I've started to run the parallelized community code test suite on this PR at 4a8ef89. You can monitor the build here. |
|
@weswigham Here they are:Comparison Report - master..42726
System
Hosts
Scenarios
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Hey @weswigham, I've packed this into an installable tgz. You can install it for testing by referencing it in your and then running There is also a playground for this build and an npm module you can use via |
|
@weswigham Here they are:Comparison Report - master..42726
System
Hosts
Scenarios
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Unfortunately, we never finished reviewing this PR. It is pretty old now, so I'm going to close it to reduce the number of open PRs. |
If we are already in the middle of a more general comparison of those same types.
This is an optimization I pulled out of #31633 and tweaked a bit to bit a little more effective.
Fixes #38970
This and #42727 aren't technically mutually exclusive, but given that they target the same underlying inefficiency, I imagine we'll only take one until we have good reason to take the other.