Skip to content
This repository was archived by the owner on Sep 13, 2022. It is now read-only.
This repository was archived by the owner on Sep 13, 2022. It is now read-only.

Calculating whether a .NET Standard library ref is a facade costs 0.5% of solution-wide design time build #494

@davkean

Description

@davkean

See: dotnet/sdk#1586

Note: This is the most expensive condition in the entire build and give it only runs for .NET Standard projects it's overhead will be higher for a solution containing only .NET Standard projects.

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%
Lazy Items (Pass 3.1) NETStandard.Library.targets 12 Condition="'%(FileName)' != 'netstandard'") 33 0.5% 33 0.5% 43

This line: https://github.com/dotnet/standard/blob/master/netstandard/pkg/targets/NETStandard.Library.targets#L12

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions