-
Notifications
You must be signed in to change notification settings - Fork 815
Enable TypeSubsumptionCache for IDE use #18499
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
|
vsintegration/src/FSharp.Editor/LanguageService/LanguageService.fs
Outdated
Show resolved
Hide resolved
deal with memory restrictions in CI, dispose caches
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.
That's great! Thanks a tonne for taking over it and making it actually work!
@T-Gro I went with your suggestion of MailboxProcessor, it made the code way better. I just need to test it a bit. |
Alas with MailboxProcessor this seems less efficient. Some resource is getting exhausted in the already meager Linux CI (memory? threadpool? waithandles? I have no idea) and it finally gives up.I'll try to optimize this somehow because I really like the Mailbox approach. |
Failing after 79m on the Linux CI is strange, might be queue or machine specific. => can be environmental flakiness |
I got it to pass with #18527 |
Excellent job @majocha , I am really glad we are getting this contribution in and the compiler performance regression (since introduction of the many interfaces for numeric primitives) for especially numeric codebases can be fixed. |
I spotted a bug in the eviction async. No big deal I'll post a fix later. |
Description
This builds upon Vlad's work from #18190 and #17668, extending the fix for #17501 into incremental compilation / typecheck in IDE editor.
This is resubmitted and cleaned up #18468.
Currently the feature is enabled only for lang version preview.
As for testing, this is mostly tested by dogfooding. This repo builds fine and the tests that do use preview version pass.
I also tested manually the scenario from original issue. It is fixed now also in the IDE.
Added some basic cache tests as a starting point, too.
Performance considerations:
The goals here are: