-
Notifications
You must be signed in to change notification settings - Fork 10.6k
[CursorInfo] Prefer AST based results over solver based #65688
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Solver based results are fast within a function, where the `ASTContext` can be re-used. But it is significantly slower than the AST based results when outside of a function. Instead of using solver based as the primary results, only use them as a fallback for when AST based fails. Resolves rdar://108930110.
|
@swift-ci please test |
|
@swift-ci please Sourcekit stress test |
|
preset=asan |
|
@swift-ci please test Linux platform |
ahoppen
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you
|
FYI the changes in |
That's... very strange. Is that a clean build? I don't have a release build handy, but checking the response from an actual release |
Clean builds on both the asserts and the no-asserts when I started. I needed to switch to use inproc for sourcekitd to be able to debug. By "actual release |
Yeah, I just tried on the latest release. It's possible there's something new that's causing this, it was just an extra data point. |
|
Thanks @drodriguez. For now I've put up #65809 so that the test is passing. The underlying issue here is that we're not actually deserializing the PBD. |
Solver based results are fast within a function, where the
ASTContextcan be re-used. But it is significantly slower than the AST based results when outside of a function. Instead of using solver based as the primary results, only use them as a fallback for when AST based fails.Resolves rdar://108930110.