Skip to content

skip making archives for inner loop #47993

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

baronfel
Copy link
Member

cc @joeloff

Before:

>./build.cmd
...
  redist succeeded (130.0s) → artifacts\bin\redist\Debug\net10.0\redist.dll

Build succeeded in 205.3s

After:

>./build.cmd
...
  redist succeeded (10.9s) → artifacts\bin\redist\Debug\net10.0\redist.dll

Build succeeded in 52.1s

@Copilot Copilot AI review requested due to automatic review settings March 28, 2025 20:47
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review any files in this pull request.

Files not reviewed (1)
  • src/Layout/redist/targets/Directory.Build.targets: Language not supported

@dotnet-issue-labeler dotnet-issue-labeler bot added Area-Infrastructure untriaged Request triage from a team member labels Mar 28, 2025
@baronfel baronfel enabled auto-merge (squash) March 28, 2025 21:21
@baronfel
Copy link
Member Author

@ViktorHofer looks like this change breaks the VMR - can you advise on the best way to skip this step for local builds? It's kinda ridiculous to have almost 4 minute cycle times for simple changes.

Copy link
Member

@ViktorHofer ViktorHofer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From what I see in a binlog (sdk official build: win-x64), generating the archives only takes 10-15s depending on the machine:

image

I'm not sure where you got those numbers from. Windows or Unix?

It's kinda ridiculous to have almost 4 minute cycle times for simple changes.

I assume you are referring to an incremental sdk build? That time can be reduced by declaring inputs & outputs on a bunch of targets in redist.csproj. I.e. the GenerateArchives target would benefit from that.

@baronfel
Copy link
Member Author

baronfel commented Mar 29, 2025

@ViktorHofer Terminal Logger was my primary guide here - this is mid-build:

image

I usually sit on this target for a few minutes. Here's the final time from a binlog:

image

That time can be reduced by declaring inputs & outputs on a bunch of targets in redist.csproj

Yeah, of course you're right here. But that's harder than just turning things off :) Might be necessary to not break the VMR build though :-/ Is there a way that normal VMR build could trigger this even if dev inner-loop doesn't?

@ViktorHofer
Copy link
Member

Thanks for sharing more details. I'm surprised to see such long zip times. Could Defender be interfering there?

I don't think we should turn this target off, even in local builds. It produces the primary output of the sdk repo. I would rather invest in better Inputs and Outputs and investigation onto why the zip invocation takes that long on your machine.

@ViktorHofer
Copy link
Member

ViktorHofer commented Apr 1, 2025

Here are the times from a fresh build on my Windows (Surface Laptop Studio) machine:

image

Twelve seconds to compress the redist directory make sense to me.

@baronfel
Copy link
Member Author

baronfel commented Apr 1, 2025

Are you on a devdrive there? I suspect that could be a big part of my problems.

@ViktorHofer
Copy link
Member

No. On a normal NTFS drive but the folder excluded from Defender scanning.

@ViktorHofer
Copy link
Member

Btw I filed #48070 to track adding incremental build support to redist.csproj.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Infrastructure untriaged Request triage from a team member
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants