dotnet / dotnet/msbuild

Log event for slow glob evaluation so VS can alert users

Open
#3,204 5 comments 1 reaction 0 assignees View on GitHub
Area: Debuggability Area: Engine Area: Performance Priority:1
Dominant language
C#
Stars
5.5k
Forks
1.5k
Avg merge
1d 8h
Merged PRs (30d)
141

Description

We've seen several reports from customers where glob evaluation has severely affected VS performance:

1. One customer with ~600 projects and ~200,000 files had a glob in a targets file imported by all projects that looked for files from the root, accounting for 6s out of a total of 8s of evaluation time while loading the solution.
2. It's not uncommon for internal customers to have globs that are rooted by an env var - then when they open in VS without that env var set, the evaluation end up being rooted at `\` and takes forever.

We discussed mitigations for this, and it would be nice if MSBuild could log an event once evaluation has takes more than a certain threshold (ideally including which glob it was and where it was rooted). Then VS could hook that up to a perf tip.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.