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

[Windows build perf] _CompileAppManifest is always executed #19607

Open
Tracked by #19611
emaf opened this issue Dec 8, 2023 · 1 comment
Open
Tracked by #19611

[Windows build perf] _CompileAppManifest is always executed #19607

emaf opened this issue Dec 8, 2023 · 1 comment
Labels
delighter-sc msbuild Issues affecting our msbuild tasks/targets performance If an issue or pull request is related to performance windows-only The issue only occur on Windows
Milestone

Comments

@emaf
Copy link
Contributor

emaf commented Dec 8, 2023

Steps to Reproduce

_CompileAppManifest should be skipped if the related imput files did not change, not just because the time it takes to execute this target, but because it also causes _CoreCompileImageAssets, _CoreCompileCoreMLModels and CopyResourcesToBundle to run unnecesarily. This might not add a lot of time on local builds, but on remote builds this could add easily 3-4 seconds.

image

How other targets are forced to be executed:
image

image

Expected Behavior

Actual Behavior

Environment

Version information

Build Logs

Example Project (If Possible)

@emaf emaf added performance If an issue or pull request is related to performance msbuild Issues affecting our msbuild tasks/targets windows-only The issue only occur on Windows labels Dec 8, 2023
@rolfbjarne
Copy link
Member

_CompileAppManifest should be skipped if the related imput files did not change

This task is a bit more complicated, because the CompileAppManifest needs to execute even if there's no input files, because we write out some default values in the resulting Info.plist in that case.

not just because the time it takes to execute this target, but because it also causes _CoreCompileImageAssets, _CoreCompileCoreMLModels and CopyResourcesToBundle to run unnecesarily.

This might be avoided by not writing out a file if the new contents is identical to the old file (so the timestamp doesn't change).

@rolfbjarne rolfbjarne added this to the .NET 9 milestone Dec 11, 2023
@rolfbjarne rolfbjarne modified the milestones: .NET 9, .NET 10 Sep 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
delighter-sc msbuild Issues affecting our msbuild tasks/targets performance If an issue or pull request is related to performance windows-only The issue only occur on Windows
Projects
None yet
Development

No branches or pull requests

3 participants