| 1 |
AboutAssets.txt |
656 |
656 |
0,00% |
| 2 |
Assets.car |
50424 |
50424 |
0,00% |
| 3 |
Info.plist |
1424 |
1424 |
0,00% |
| 4 |
MauiSplash.storyboardc |
160 |
160 |
0,00% |
| 5 |
Microsoft.Extensions.Configuration.Abstractions.aotdata.arm64 |
920 |
920 |
0,00% |
| 6 |
Microsoft.Extensions.Configuration.Abstractions.dll |
5632 |
5632 |
0,00% |
| 7 |
Microsoft.Extensions.Configuration.aotdata.arm64 |
53928 |
179512 |
232,87% |
| 8 |
Microsoft.Extensions.Configuration.dll |
9728 |
9728 |
0,00% |
| 9 |
Microsoft.Extensions.DependencyInjection.Abstractions.aotdata.arm64 |
7448 |
178512 |
2296,78% |
| 10 |
Microsoft.Extensions.DependencyInjection.Abstractions.dll |
13312 |
13312 |
0,00% |
| 11 |
Microsoft.Extensions.DependencyInjection.aotdata.arm64 |
123976 |
253960 |
104,85% |
| 12 |
Microsoft.Extensions.DependencyInjection.dll |
25600 |
25600 |
0,00% |
| 13 |
Microsoft.Extensions.Logging.Abstractions.aotdata.arm64 |
44640 |
184584 |
313,49% |
| 14 |
Microsoft.Extensions.Logging.Abstractions.dll |
12800 |
12800 |
0,00% |
| 15 |
Microsoft.Extensions.Logging.aotdata.arm64 |
60832 |
188192 |
209,36% |
| 16 |
Microsoft.Extensions.Logging.dll |
13312 |
13312 |
0,00% |
| 17 |
Microsoft.Extensions.Options.aotdata.arm64 |
10840 |
10832 |
-0,07% |
| 18 |
Microsoft.Extensions.Options.dll |
12288 |
12288 |
0,00% |
| 19 |
Microsoft.Extensions.Primitives.aotdata.arm64 |
3936 |
3920 |
-0,41% |
| 20 |
Microsoft.Extensions.Primitives.dll |
7168 |
7168 |
0,00% |
| 21 |
Microsoft.Maui.Controls.Xaml.aotdata.arm64 |
97120 |
243424 |
150,64% |
| 22 |
Microsoft.Maui.Controls.Xaml.dll |
74240 |
74240 |
0,00% |
| 23 |
Microsoft.Maui.Controls.aotdata.arm64 |
914264 |
1056064 |
15,51% |
| 24 |
Microsoft.Maui.Controls.dll |
1038336 |
1038336 |
0,00% |
| 25 |
Microsoft.Maui.Essentials.aotdata.arm64 |
62792 |
197168 |
214,00% |
| 26 |
Microsoft.Maui.Essentials.dll |
30720 |
30720 |
0,00% |
| 27 |
Microsoft.Maui.Graphics.aotdata.arm64 |
142944 |
308936 |
116,12% |
| 28 |
Microsoft.Maui.Graphics.dll |
114688 |
114688 |
0,00% |
| 29 |
Microsoft.Maui.aotdata.arm64 |
384816 |
534872 |
38,99% |
| 30 |
Microsoft.Maui.dll |
386048 |
386048 |
0,00% |
| 31 |
Microsoft.iOS.aotdata.arm64 |
325264 |
461264 |
41,81% |
| 32 |
Microsoft.iOS.dll |
497664 |
497664 |
0,00% |
| 33 |
MyMauiApp |
29000688 |
56731120 |
95,62% |
| 34 |
MyMauiApp.aotdata.arm64 |
9464 |
181840 |
1821,39% |
| 35 |
MyMauiApp.dll |
18432 |
18432 |
0,00% |
| 36 |
OpenSans-Regular.ttf |
107184 |
107184 |
0,00% |
| 37 |
OpenSans-Semibold.ttf |
111068 |
111068 |
0,00% |
| 38 |
PkgInfo |
8 |
8 |
0,00% |
| 39 |
System.Collections.Concurrent.aotdata.arm64 |
74544 |
207520 |
178,39% |
| 40 |
System.Collections.Concurrent.dll |
13312 |
13312 |
0,00% |
| 41 |
System.Collections.NonGeneric.aotdata.arm64 |
1312 |
1312 |
0,00% |
| 42 |
System.Collections.NonGeneric.dll |
7168 |
7168 |
0,00% |
| 43 |
System.Collections.Specialized.aotdata.arm64 |
1392 |
1584 |
13,79% |
| 44 |
System.Collections.Specialized.dll |
8192 |
8192 |
0,00% |
| 45 |
System.Collections.aotdata.arm64 |
6952 |
7208 |
3,68% |
| 46 |
System.Collections.dll |
8192 |
8192 |
0,00% |
| 47 |
System.ComponentModel.Primitives.aotdata.arm64 |
2096 |
178344 |
8408,78% |
| 48 |
System.ComponentModel.Primitives.dll |
9216 |
9216 |
0,00% |
| 49 |
System.ComponentModel.TypeConverter.aotdata.arm64 |
16544 |
192896 |
1065,96% |
| 50 |
System.ComponentModel.TypeConverter.dll |
49664 |
49664 |
0,00% |
| 51 |
System.ComponentModel.aotdata.arm64 |
856 |
856 |
0,00% |
| 52 |
System.ComponentModel.dll |
4608 |
4608 |
0,00% |
| 53 |
System.Console.aotdata.arm64 |
46432 |
195856 |
321,81% |
| 54 |
System.Console.dll |
8704 |
8704 |
0,00% |
| 55 |
System.Diagnostics.TraceSource.aotdata.arm64 |
2416 |
2416 |
0,00% |
| 56 |
System.Diagnostics.TraceSource.dll |
8704 |
8704 |
0,00% |
| 57 |
System.Drawing.Primitives.aotdata.arm64 |
4856 |
175960 |
3523,56% |
| 58 |
System.Drawing.Primitives.dll |
7168 |
7168 |
0,00% |
| 59 |
System.Drawing.aotdata.arm64 |
808 |
808 |
0,00% |
| 60 |
System.Drawing.dll |
4608 |
4608 |
0,00% |
| 61 |
System.Linq.Expressions.aotdata.arm64 |
499248 |
610776 |
22,34% |
| 62 |
System.Linq.Expressions.dll |
120320 |
120320 |
0,00% |
| 63 |
System.Linq.aotdata.arm64 |
121560 |
275264 |
126,44% |
| 64 |
System.Linq.dll |
22528 |
22016 |
-2,27% |
| 65 |
System.Memory.aotdata.arm64 |
824 |
824 |
0,00% |
| 66 |
System.Memory.dll |
4608 |
4096 |
-11,11% |
| 67 |
System.Net.Http.aotdata.arm64 |
130696 |
311760 |
138,54% |
| 68 |
System.Net.Http.dll |
61440 |
61952 |
0,83% |
| 69 |
System.Net.Primitives.aotdata.arm64 |
1424 |
1432 |
0,56% |
| 70 |
System.Net.Primitives.dll |
8704 |
8704 |
0,00% |
| 71 |
System.Net.Requests.aotdata.arm64 |
928 |
928 |
0,00% |
| 72 |
System.Net.Requests.dll |
5632 |
5632 |
0,00% |
| 73 |
System.Net.Security.aotdata.arm64 |
888 |
888 |
0,00% |
| 74 |
System.Net.Security.dll |
4608 |
5120 |
11,11% |
| 75 |
System.Net.ServicePoint.aotdata.arm64 |
1960 |
1960 |
0,00% |
| 76 |
System.Net.ServicePoint.dll |
5632 |
5632 |
0,00% |
| 77 |
System.Numerics.Vectors.aotdata.arm64 |
816 |
816 |
0,00% |
| 78 |
System.Numerics.Vectors.dll |
4608 |
4608 |
0,00% |
| 79 |
System.ObjectModel.aotdata.arm64 |
10304 |
11112 |
7,84% |
| 80 |
System.ObjectModel.dll |
13312 |
13312 |
0,00% |
| 81 |
System.Private.CoreLib.aotdata.arm64 |
1318848 |
1777432 |
34,77% |
| 82 |
System.Private.CoreLib.dll |
912384 |
934400 |
2,41% |
| 83 |
System.Private.Uri.aotdata.arm64 |
81728 |
275344 |
236,90% |
| 84 |
System.Private.Uri.dll |
25600 |
26624 |
4,00% |
| 85 |
System.Private.Xml.aotdata.arm64 |
229216 |
376784 |
64,38% |
| 86 |
System.Private.Xml.dll |
247296 |
248320 |
0,41% |
| 87 |
System.Runtime.InteropServices.aotdata.arm64 |
840 |
840 |
0,00% |
| 88 |
System.Runtime.InteropServices.dll |
4608 |
4608 |
0,00% |
| 89 |
System.Runtime.aotdata.arm64 |
808 |
808 |
0,00% |
| 90 |
System.Runtime.dll |
11776 |
11776 |
0,00% |
| 91 |
System.Security.Cryptography.aotdata.arm64 |
43000 |
180640 |
320,09% |
| 92 |
System.Security.Cryptography.dll |
5632 |
5632 |
0,00% |
| 93 |
System.Text.RegularExpressions.aotdata.arm64 |
520208 |
677736 |
30,28% |
| 94 |
System.Text.RegularExpressions.dll |
139264 |
139776 |
0,37% |
| 95 |
System.Threading.Thread.aotdata.arm64 |
816 |
816 |
0,00% |
| 96 |
System.Threading.Thread.dll |
4096 |
4608 |
12,50% |
| 97 |
System.Threading.aotdata.arm64 |
824 |
824 |
0,00% |
| 98 |
System.Threading.dll |
4608 |
4608 |
0,00% |
| 99 |
System.Xml.ReaderWriter.aotdata.arm64 |
816 |
816 |
0,00% |
| 100 |
System.Xml.ReaderWriter.dll |
4608 |
4608 |
0,00% |
| 101 |
System.aotdata.arm64 |
800 |
800 |
0,00% |
| 102 |
System.dll |
4096 |
4096 |
0,00% |
| 103 |
_CodeSignature |
96 |
96 |
0,00% |
| 104 |
appicon60x60@2x.png |
1361 |
1361 |
0,00% |
| 105 |
appicon76x76@2x~ipad.png |
1649 |
1649 |
0,00% |
| 106 |
dotnet_bot.png |
19036 |
19036 |
0,00% |
| 107 |
dotnet_bot@2x.png |
41155 |
41155 |
0,00% |
| 108 |
dotnet_bot@3x.png |
55868 |
55868 |
0,00% |
| 109 |
icudt.dat |
1824544 |
1859040 |
1,89% |
| 110 |
runtimeconfig.bin |
983 |
983 |
0,00% |
| 111 |
splash.png |
1554 |
1554 |
0,00% |
| 112 |
splash@2x.png |
2750 |
2750 |
0,00% |
| 113 |
splash@3x.png |
4776 |
4776 |
0,00% |
|
TOTAL: |
40598192 |
72477624 |
78,52% |
Size regression for MAUI iOS apps
MAUI sample app
dotnet new maui -n "MyMauiApp"has regressed in size compared to the.NET7release:.appdirectory size regressed around78.5%from40598192to72477624bytes.ipafile size regressed around74%from13074853to22755931byteswhen compared against dotnet/runtime
mainbranch at: a92c5bcLinked issues
Similar size regressions have been reported for the Mono sample app and WASM here:
for which the following issues have been detected as the ones causing the regressions:
Repro steps
dotnet 7.0.100from https://dotnet.microsoft.com/en-us/download/dotnet/7.07.0.100is the one on the pathTargetinMyMauiApp.csprojfile:.NET7release:.ipafile and.appfolder sizes:current mainfrom step (2) by:DotnetRuntimeRepowith the path to your localdotnet/runtimedirectory (instead of the <some_repo_dir> placeholder)UseCurrentMainBranchwith the valuetruein the following way:
rm -rf bin obj dotnet publish -c Release -f net7.0-ios -r ios-arm64 --self-contained -bl -p:_RequireCodeSigning=false -p:DotnetRuntimeRepo="<some_repo_dir>" -p:UseCurrentMainBranch=trueSize on disk comparison (in bytes)
Observation
Biggest differences can be seen in the app binary
MyMauiApp(row 33) and.aotdata.arm64files./cc: @SamMonoRT @kotlarmilos @rolfbjarne @jonathanpeppers @vargaz @stephentoub