-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
_GenerateCompileDependencyCache is still consuming non-trivial time in design-time build #2442
Comments
Hmm, it seems CoreCompile is still being called when one of it's outputs doesn't exist:
Which means that _GenerateCompileDependencyCache is basically running for nothing in that case. |
I think we should decide what's quicker in the design-time build case; calling _GenerateCompileDependencyCache or generating the command-line args. Does _GenerateCompileDependencyCache actually save anything when we're just generating command-line args? |
I still think I agree that skipping it during design-time builds is reasonable. It's there only to catch the case that a file on disk was added or deleted and if so run the compiler. I expect that just generating the command line should be cheap enough to do for all DT builds. The @davkean have you tried - <Target Name="_GenerateCompileDependencyCache" DependsOnTargets="ResolveAssemblyReferences">
+ <Target Name="_GenerateCompileDependencyCache" DependsOnTargets="ResolveAssemblyReferences" Condition="'$(DesignTimeBuild)' != 'true'"> |
@rainersigwald DesignTimeBuild is only set for new project system - so we need to come up with a combination of DesignTImeBuild and BuildingProject that avoids #2417. |
This target is consuming the 6th most design-time build time in our new telemetry, with a 95% percentile time of 23 milliseconds. |
This was "fixed" here: #2276, but with latest bits in master, I'm still seeing this target and CoreCompile show up on the radar on an up-to-date build: dotnet/sdk#1496.
I thought CoreCompile was only supposed to be called on a dirty build?
The text was updated successfully, but these errors were encountered: