Make in-memory cross-project references the only option (by removing the switch)#15116
Conversation
vsintegration/src/FSharp.UIResources/LanguageServicePerformanceOptionControl.xaml
Show resolved
Hide resolved
|
/run fantomas |
Co-authored-by: vzarytovskii <1260985+vzarytovskii@users.noreply.github.com>
|
Ran fantomas: https://github.com/dotnet/fsharp/actions/runs/4745771163 |
|
I am all up for removing whatever code - but what's the exact motivation here? |
It was on by default for a long time, no reason for keeping it really. |
|
Yes, not wired up to the checker and probably only confusing new users. |
You mean a different one, I believe. This one is about how we make decisions whether project changed or not. |
|
I see. Looking at telemetry, nobody ever turned it off (except you Vlad :D ) |
You know what's the awkward part? I DON'T REMEMBER DOING IT! |
|
Oo this is good! |
…the switch) (#15116) (#15120) * Make in-memory cross-project references the only option (by removing the switch) * Cleanup translations * Automated command ran: fantomas Co-authored-by: vzarytovskii <1260985+vzarytovskii@users.noreply.github.com> --------- Co-authored-by: Vlad Zarytovskii <vzaritovsky@hotmail.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Kevin Ransom (msft) <codecutter@hotmail.com>
|
Spoken to @charlesroddie, and will roll it back for time being, since it makes a difference in some project graphs. Until we have a better solution. |
…emoving the switch) (dotnet#15116)" This reverts commit c6e2b7f.
@vzarytovskii Could you please tell more about these differences? |
Apparently, on solution @charlesroddie has, it causes a significant slowdown. |
I was worried that eventually someone would turn off this switch, as it became at some point not the default but I was relying on it for acceptable and predictable performance for many years. That happened, but I am very grateful and impressed with the support and speed of reversion! When I updated Visual Studio I found that it took 3mins instead of 5s for intellisense to show up on some projects, because of the removal of this mode. We have 197395 F# LOC in the solution. I suppose that's a lot. A small majority is specification of data as a DSL in F# code which is how we have so many lines. It performs well because it's split up into many projects, so when editing files, the compiler only need to work with a few lines of F# code. Building takes a while (1.2mins not 3) and I'm looking forward to ditching mono soon and being able to use F# reference assembly support which will make most of our builds almost instant. I think many people are missing out by not being aware of the "disable in memory cross-project references" mode. |
No description provided.