Don't skip elaborations when reporting errors for cached failed relations#55234
Don't skip elaborations when reporting errors for cached failed relations#55234Andarist wants to merge 9 commits intomicrosoft:mainfrom
Conversation
|
@typescript-bot perf test this faster |
|
Heya @RyanCavanaugh, I've started to run the abridged perf test suite on this PR at eaba5a1. You can monitor the build here. Update: The results are in! |
|
@RyanCavanaugh Here they are:Comparison Report - main..55234
System
Hosts
Scenarios
Developer Information: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2bf3cf9 to
4a88fbd
Compare
|
@RyanCavanaugh since the perf run came up clean I updated the baselines and cleaned up this a little bit further. Looking at the changed baselines it seems like a neat improvement to me :) |
|
@typescript-bot test this |
|
Heya @weswigham, I've started to run the diff-based top-repos suite on this PR at 4a88fbd. You can monitor the build here. Update: The results are in! |
|
Heya @weswigham, I've started to run the regular perf test suite on this PR at 4a88fbd. You can monitor the build here. Update: The results are in! |
|
Heya @weswigham, I've started to run the parallelized Definitely Typed test suite on this PR at 4a88fbd. You can monitor the build here. Update: The results are in! |
|
@weswigham Here they are:
CompilerComparison Report - baseline..pr
System info unknown
Hosts
Scenarios
tsserverComparison Report - baseline..pr
System info unknown
Hosts
Scenarios
StartupComparison Report - baseline..pr
System info unknown
Hosts
Scenarios
Developer Information: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
@weswigham Here are the results of running the top-repos suite comparing Everything looks good! |
|
Hey @weswigham, the results of running the DT tests are ready. |
…-on-cached-entries
|
@weswigham @ahejlsberg I'd like to merge this at the start of 5.4 development. Is it good to go? |
| // Record this relation as having failed such that we don't attempt the overflowing operation again. | ||
| const id = getRelationKey(source, target, /*intersectionState*/ IntersectionState.None, relation, /*ignoreConstraints*/ false); | ||
| relation.set(id, RelationComparisonResult.Reported | RelationComparisonResult.Failed); | ||
| relation.set(id, RelationComparisonResult.Failed); |
There was a problem hiding this comment.
@sandersn @ahejlsberg those are lines that were not at all here when I created this PR. When syncing with main now I removed the RelationComparisonResult.Reported - just like it was done everywhere else here but I'm not sure if this should actually be done here.
Those lines come from #55851
There was a problem hiding this comment.
Hmm, the CI shows that this actually is important as now it's doing a lot of heavy work twice in this pathological case and the CI timeouts.
If we take a closer look at this baseline (even on main) we might notice that it's actually reporting 2 errors at the same location:
So perhaps If I manage to report this once, the perf problems will go away naturally.
|
@typescript-bot perf test this |
|
Heya @sandersn, I've started to run the regular perf test suite on this PR at 0611fbb. You can monitor the build here. Update: The results are in! |
|
@sandersn Here they are:
CompilerComparison Report - baseline..pr
System info unknown
Hosts
Scenarios
tsserverComparison Report - baseline..pr
System info unknown
Hosts
Scenarios
StartupComparison Report - baseline..pr
System info unknown
Hosts
Scenarios
Developer Information: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
We had this PR all this time and never merged it? Oh well. |
|
@gabritto does it overlap with some other fresh work/issue? I can certainly try to prioritize this PR more and bring it up to speed |
|
Yeah, #57842, since we may report diagnostics out of order and therefore elaborations may jump around. |
To give more details, I'm doing some diagnostics work in preparation for #57842. Right now I'm trying to have less duplicated diagnostics, but next on my list is to provide assignability elaboration consistently in editor scenarios, and as a consequence get rid of some of the diagnostics differences that arise when using #57842 vs not using them. |
|
This work has landed as part of #58859 |
Thanks for doing this! |
fixes #3276
to learn more about what's happening you can read my comment here
I'm just opening this as a draft, even without updating baselines. It might be interesting to run the perf suite on this one.