Skip to content
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

Calculating $(FrameworkPathOverride) takes up to 1.4% of evaluation of a solution-wide design-time build #2518

Closed
davkean opened this issue Sep 14, 2017 · 0 comments

Comments

@davkean
Copy link
Member

davkean commented Sep 14, 2017

See: dotnet/sdk#1586

Pass File Line # Expression Inc (ms) Inc (%) Exc (ms) Exc (%) # Bug
Total Evaluation 6159 100% 54 0.9%
Properties (Pass 1) 3312 53.8% 9 0.1%
ItemDefinitionGroup (Pass 2) 14 0.2% 2 0%
Items (Pass 3) 566 9.2% 24 0.4%
Lazy Items (Pass 3.1) 1826 29.6% 158 2.6%
UsingTasks (Pass 4) 59 1% 59 1%
Targets (Pass 5) 327 5.3% 208 3.4%
Properties (Pass 1) Microsoft.Common.CurrentVersion.targets 83 <FrameworkPathOverride Condition="'$(FrameworkPathOverride)' == ''" >$([Microsoft.Build.Utilities.To... 77 1.2% 76 1.2% 223
Properties (Pass 1) Microsoft.Common.CurrentVersion.targets 84 <FrameworkPathOverride Condition="!Exists('$(FrameworkPathOverride)\mscorlib.dll')" >$(MSBuildFramew... 7 0.1% 1 0% 223
Properties (Pass 1) Microsoft.Common.CurrentVersion.targets 79 <FrameworkPathOverride Condition="'$(FrameworkPathOverride)' == '' And Exists('$(TargetFrameworkRoot... 6 0.1% 0 0% 223

Make note, that for 43 of those evaluations in the linked issue, FrameworkPathOverride is reset to nothing:

Pass File Line # Expression Inc (ms) Inc (%) Exc (ms) Exc (%) # Bug
Properties (Pass 1) Microsoft.NET.DisableStandardFrameworkResolution.targets 21 <FrameworkPathOverride /> 0 0% 0 0% 43
@davkean davkean changed the title Calculating FrameworkPathOverride takes up to 1.2% of a solution-wide design-time build Calculating FrameworkPathOverride takes up to 1.2% of evaluation of a solution-wide design-time build Sep 14, 2017
@davkean davkean changed the title Calculating FrameworkPathOverride takes up to 1.2% of evaluation of a solution-wide design-time build Calculating $(FrameworkPathOverride) takes up to 1.2% of evaluation of a solution-wide design-time build Sep 14, 2017
@davkean davkean changed the title Calculating $(FrameworkPathOverride) takes up to 1.2% of evaluation of a solution-wide design-time build Calculating $(FrameworkPathOverride) takes up to 1.4% of evaluation of a solution-wide design-time build Sep 14, 2017
jeffkl added a commit that referenced this issue Oct 10, 2017
* Introduce EnableFrameworkPathOverride property

Setting this property to `true` will skip evaluation of `FrameworkPathOverride` which can be expensive.

New SDK projects set FrameworkPathOverride to an empty string because all references from from NuGet packages.  So calculating the value is unnecessary overhead

Fixes #2518 once the SDK sets this property in Sdk.props
radical pushed a commit to mono/msbuild that referenced this issue Oct 25, 2017
* Introduce EnableFrameworkPathOverride property

Setting this property to `true` will skip evaluation of `FrameworkPathOverride` which can be expensive.

New SDK projects set FrameworkPathOverride to an empty string because all references from from NuGet packages.  So calculating the value is unnecessary overhead

Fixes dotnet#2518 once the SDK sets this property in Sdk.props
@AR-May AR-May added the triaged label Feb 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants