-
Notifications
You must be signed in to change notification settings - Fork 789
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
Prevent dotnet
process spawn on compiler startup
#13969
Conversation
@vzarytovskii This is ready |
Longer term it might be nice if the SDK surfaced some way of resolving named Frameworks from the current install location via a NuGet package. We already ship resolvers for finding installed and usable SDKs, and I think the next step of "give me framework X from SDK Y" would enable use cases for scripting (like |
@vzarytovskii @KevinRansom ping :) |
@KevinRansom can you please take a look at it? |
* don't start process to determine system assemblies * code format * fix build break
Fixes #13960
@vzarytovskii I think searching for
"Microsoft.NETCore.App.Ref"
in the directory name is adequate for now.I did a performance comparison and on my laptop running:
Before: 2.9s
After: 2.7s
The proportional effect is greater if crossgen is active and you can actually measure the effect in the SDK today, as the process spawn only kicks in if non-default assemblies are referenced, e.g.
Make an
out.args
for a simple project referencingNewtonsoft.Json
dotnet "\Program Files\dotnet\sdk\7.0.100-rc.1.22431.12\FSharp\fsc.dll" @out.args --times
Then remove this reference from the list and repeat
Before: consistently 1.7s
After: consistently 1.5s