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

Improve default build times on arm64 #21444

Open
rolfbjarne opened this issue Oct 15, 2024 · 0 comments · Fixed by #21461
Open

Improve default build times on arm64 #21444

rolfbjarne opened this issue Oct 15, 2024 · 0 comments · Fixed by #21461
Labels
Mac Catalyst Issues affecting Mac Catalyst notes-mention Deserves a mention in release notes performance If an issue or pull request is related to performance
Milestone

Comments

@rolfbjarne
Copy link
Member

rolfbjarne commented Oct 15, 2024

The default build times for a Mac Catalyst app on arm64 is horrendous:

  • dotnet new maccatalyst && dotnet build: 1 minute

Enabling the trimmer or the interpreter makes it much better:

  • dotnet new maccatalyst && dotnet build /p:UseInterpreter: 17 seconds
  • dotnet new maccatalyst && dotnet build /p:TrimMode=partial: 12 seconds
  • dotnet new maccatalyst && dotnet build /p:TrimMode=full: 12 seconds
  • dotnet new maccatalyst && dotnet build /p:TrimMode=partial /p:UseInterpreter=true: 12 seconds

So I suggest we enable the trimmer by default for Debug mode on Mac Catalyst (this would match how we handle iOS and tvOS in the simulator + we don't enable the interpreter on any other platform).

The same thing happens for the iOS and tvOS Simulators as well.

@rolfbjarne rolfbjarne added the performance If an issue or pull request is related to performance label Oct 15, 2024
@rolfbjarne rolfbjarne added this to the .NET 10 milestone Oct 15, 2024
@rolfbjarne rolfbjarne added the Mac Catalyst Issues affecting Mac Catalyst label Oct 15, 2024
@rolfbjarne rolfbjarne changed the title Improve default Mac Catalyst build times on arm64 Improve default build times on arm64 Oct 16, 2024
rolfbjarne added a commit that referenced this issue Oct 16, 2024
@rolfbjarne rolfbjarne added the notes-mention Deserves a mention in release notes label Oct 16, 2024
rolfbjarne added a commit that referenced this issue Oct 23, 2024
…1444. (#21461)

The default build times for a Mac Catalyst app on arm64 are horrendous:

* `dotnet new maccatalyst && dotnet build`: 1 minute

Enabling the trimmer or the interpreter makes it _much_ better:

* `dotnet new maccatalyst && dotnet build /p:UseInterpreter`: 17 seconds
* `dotnet new maccatalyst && dotnet build /p:TrimMode=partial`: 12 seconds
* `dotnet new maccatalyst && dotnet build /p:TrimMode=full`: 12 seconds
* `dotnet new maccatalyst && dotnet build /p:TrimMode=partial /p:UseInterpreter=true`: 12 seconds

So enable the trimmer by default for Debug mode on ARM64 on:

* iOS
* tvOS
* Mac Catalyst

(we're already trimming for other build configurations, so it seemed like an easy to choice to enable the trimmer in these configurations as well, as opposed to enabling the interpreter)

Fixes #21444.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Mac Catalyst Issues affecting Mac Catalyst notes-mention Deserves a mention in release notes performance If an issue or pull request is related to performance
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant