Skip to content

[mono][perf] iOS disk size regression on 11 Nov 2022 #78851

Open

Description

Description

Microbenchmark improvement #78182 introduced concrete instances in addition to the gshared methods in AOT mode to optimize #78163.

For Mono iOS sample app, binary disk size (SOD) has increased by 8%.

Filename SOD without concrete instances (80208e6) SOD with concrete instances (486682a)
HelloiOS 17382408 bytes 18872480 bytes

Number of symbols has increased by 5k.

Filename Number of symbols without concrete instances (80208e6) Number of symbols with concrete instances (486682a)
HelloiOS 80007 85179

At the same time 80208e6 excluded dynamic libraries from the bundle as static linking is used.

For Mono iOS sample app, SOD has decreased by 5%.

File Value (bytes)
HelloiOS 17042528
Info.plist 980
PkgInfo 8
Program.aotdata 4792
Program.deps.json 11754
Program.dll 6656
Program.runtimeconfig.json 1064
System.Console.aotdata 41952
System.Console.dll 17408
System.Private.CoreLib.aotdata 826296
System.Private.CoreLib.dll 998912
icudt.dat 1824544
icudt_CJK.dat 956416
icudt_EFIGS.dat 550320
icudt_no_CJK.dat 1071600
(EXCLUDED) libSystem.IO.Compression.Native.dylib 877152
(EXCLUDED) libSystem.Native.dylib 145728
(EXCLUDED) libSystem.Net.Security.Native.dylib 72064
(EXCLUDED) libSystem.Security.Cryptography.Native.Apple.dylib 104384

Screenshot 2022-12-13 at 11 50 40

cc @ivanpovazan

Configuration

OS: iOS
Architecture: arm64
.NET version: 7.0.100-rc.1.22431.12

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions