Open rolfbjarne opened 2 weeks ago
From @mobilewares on Tue, 23 Jan 2024 23:38:38 GMT
We consistently get ~5 minutes build times on our DevOps MacVM based pipeline (and same with 8.0.6 nugets) for the iOS build - which is typically a lot slower vs a local Mac machine. We do a MAUI workload install & a dotnet restore prior to this & it's a very large complex project with a lot of 3rd party components in use.
Are you able to see what point in the output/build process it's taking so long?
From @cmydur on Wed, 24 Jan 2024 03:36:31 GMT
I'm running on my local Mac, this is where it is stuck for long time. One thing to note is Android build does not take as long
Optimizing assemblies for size may change the behavior of the app. Be sure to test after publishing. See: https://aka.ms/dotnet-illink Optimizing assemblies for size. This process might take a while.
From @javrro on Thu, 01 Feb 2024 04:05:13 GMT
Im getting the same issue. Though I havent waited the hour to see if it finishes the build.
From @cmydur on Thu, 01 Feb 2024 04:34:38 GMT
It will finish after an hour
From @vchelaru on Fri, 16 Feb 2024 21:02:55 GMT
I am also experiencing this problem - no comments from the maintainers on why this is happening or when it might be fixed?
From @josemnbcamacho on Fri, 23 Feb 2024 14:30:49 GMT
I'm also having this problem. ADO pipelines were failing because build time was longer than one hour.
Added this to Release configuration and build times came back to normal:
<MtouchUseLlvm>False</MtouchUseLlvm>
<AotAssemblies>True</AotAssemblies>
From @ninachen03 on Mon, 29 Apr 2024 08:45:57 GMT
Verified this issue with Visual Studio 17.6.10(build 428) ,I can not repro it.
From @MrZander on Fri, 21 Jun 2024 22:29:53 GMT
I am also experiencing this issue.
Running dotnet 8.0.302
dotnet publish -f net8.0-ios -c Release -p:ArchiveOnBuild=true -p:RuntimeIdentifier=ios-arm64 -p:CodesignKey="iPhone Distribution" -p:CodesignProvision="My Provision" -p:ServerAddress=omitted -p:ServerUser=omitted -p:ServerPassword=omitted -p:TcpPort=omitted -p:_DotNetRootRemoteDirectory=/Users/myuser/Library/Caches/Xamarin/XMA/SDKs/dotnet/ -v diag
Adding <MtouchUseLlvm>False</MtouchUseLlvm>
dropped my release build time from 2.5 hours to ~10 minutes. Still pretty dang slow, but it is at least manageable.
From @pluggy on Wed, 28 Aug 2024 08:12:12 GMT
Same problem here. Half an hour for a release build is too much.
From @MartyIX on Wed, 28 Aug 2024 15:39:37 GMT
(Would it help here to produce a binlog? See https://github.com/dotnet/maui/wiki/Capturing-Binary-Logs or https://dfederm.com/debugging-msbuild/. Just an idea.)
From @rbev on Tue, 22 Oct 2024 06:38:34 GMT
I'm also having this problem. ADO pipelines were failing because build time was longer than one hour.
Added this to Release configuration and build times came back to normal:
<MtouchUseLlvm>False</MtouchUseLlvm> <AotAssemblies>True</AotAssemblies>
Did this have any significant impact on package size or performance?
From @rabuckley on Fri, 25 Oct 2024 11:29:23 GMT
I'm hitting very slow release build times too. Running the following on my M1 MacBook Pro took over 13 minutes. Publishing the same app takes just over one minute. Is such a large difference expected? Is the big difference between building for simulator vs. a real device?
dotnet new maui --name MauiBuildTime
cd MauiBuildTime
dotnet build -c release -f net9.0-ios -bl
dotnet build -c release -f net9.0-ios -bl
You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy
MauiBuildTime net9.0-ios succeeded (788.8s) → bin/Release/net9.0-ios/iossimulator-arm64/MauiBuildTime.dll
Build succeeded in 789.0s
dotnet publish -c release -r ios-arm64 -f net9.0-ios -bl
You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy
MauiBuildTime net9.0-ios succeeded (69.2s) → bin/Release/net9.0-ios/ios-arm64/MauiBuildTime.dll
Build succeeded in 69.4s
I'd like to point out that disabling LLVM dropped my iOS binary size by 30% and didn't have a noticeable performance penalty
Shaving 90% off my build times seems to be a small price to pay
Another way to get a faster release build would be to enable NativeAOT for iOS.
From @cmydur on Tue, 23 Jan 2024 04:32:52 GMT
Description
My Publish times for iOS are close an hour or so.
Steps to Reproduce
Create a new MAUI App build the app run dotnet publish -f net8.0-ios -c Release
Link to public reproduction project repository
No response
Version with bug
8.0.6
Is this a regression from previous behavior?
Not sure, did not test other versions
Last version that worked well
Unknown/Other
Affected platforms
iOS
Affected platform versions
iOS
Did you find any workaround?
No
Relevant log output
No response
Copied from original issue dotnet/maui#20090