dotnet / dotnet/msbuild

[Performance]: buildchecks

Open
#11,216 1 comment 1 reaction 0 assignees View on GitHub
Area: BuildCheck Area: Performance triaged
Dominant language
C#
Stars
5.5k
Forks
1.5k
Avg merge
1d 8h
Merged PRs (30d)
141

Description

### Issue Description

After some initial benchmarking, the buildchecks have ~8% performance cost.

### Steps to Reproduce

Run build checks on an orchardCore solution, use maxcpucount:10 on a dev drive, use a cold run.

### Data

initial and rather crude benchmarking, however the impact is visible.
Left column is a baseline, right one is using build checks. Last column are averages.
47.04163 |   | 57.319
49.99453 |   | 52.50005
49.50645 |   | 52.69354
52.76786 |   | 50.99738
47.06608 |   | 50.97427
47.69965 |   | 55.23598
  |   |  
49.0127 |   | 53.2867

### Analysis

While the benchmark I used is basic and rather crude, the result hint at a regression in a ballpark of 6-10%.
This is to be expected however it poses an issue if we want to make build checks opt-out.

One possible solution could be to implement caching - the project files usually don't change all that often so only re-running build checks when an update happens should be reasonable.

### Versions & Configurations

_No response_

### Regression

- [ ] yes
- [ ] no

### Regression Details

_No response_

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.