Skip to content

Make in-memory cross-project references the only option (by removing the switch)#15116

Merged
vzarytovskii merged 4 commits into
dotnet:mainfrom
vzarytovskii:vs-remove-non-InMemoryCrossProjectReferences
Apr 19, 2023
Merged

Make in-memory cross-project references the only option (by removing the switch)#15116
vzarytovskii merged 4 commits into
dotnet:mainfrom
vzarytovskii:vs-remove-non-InMemoryCrossProjectReferences

Conversation

@vzarytovskii

Copy link
Copy Markdown
Member

No description provided.

@vzarytovskii vzarytovskii requested a review from a team as a code owner April 19, 2023 13:44
@vzarytovskii

Copy link
Copy Markdown
Member Author

/run fantomas

  Co-authored-by: vzarytovskii <1260985+vzarytovskii@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown
Contributor

@psfinaki

Copy link
Copy Markdown
Contributor

I am all up for removing whatever code - but what's the exact motivation here?

@vzarytovskii

vzarytovskii commented Apr 19, 2023

Copy link
Copy Markdown
Member Author

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.

@majocha

majocha commented Apr 19, 2023

Copy link
Copy Markdown
Contributor

Yes, not wired up to the checker and probably only confusing new users.

@vzarytovskii

vzarytovskii commented Apr 19, 2023

Copy link
Copy Markdown
Member Author

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.

@psfinaki

Copy link
Copy Markdown
Contributor

I see. Looking at telemetry, nobody ever turned it off (except you Vlad :D )

@vzarytovskii

Copy link
Copy Markdown
Member Author

except you Vlad

You know what's the awkward part? I DON'T REMEMBER DOING IT!

@vzarytovskii vzarytovskii merged commit c6e2b7f into dotnet:main Apr 19, 2023
@TIHan

TIHan commented Apr 19, 2023

Copy link
Copy Markdown
Contributor

Oo this is good!

T-Gro pushed a commit that referenced this pull request Apr 21, 2023
…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>
@vzarytovskii

Copy link
Copy Markdown
Member Author

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.

abonie added a commit to abonie/fsharp that referenced this pull request Aug 14, 2023
@auduchinok

Copy link
Copy Markdown
Member

Spoken to @charlesroddie, and will roll it back for time being, since it makes a difference in some project graphs.

@vzarytovskii Could you please tell more about these differences?

@vzarytovskii

vzarytovskii commented Aug 28, 2023

Copy link
Copy Markdown
Member Author

Spoken to @charlesroddie, and will roll it back for time being, since it makes a difference in some project graphs.

@vzarytovskii Could you please tell more about these differences?

Apparently, on solution @charlesroddie has, it causes a significant slowdown.

@charlesroddie

charlesroddie commented Aug 28, 2023

Copy link
Copy Markdown

Spoken to @charlesroddie, and will roll it back for time being, since it makes a difference in some project graphs.

@vzarytovskii Could you please tell more about these differences?

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

8 participants