Skip to content

Consider upgrading Xcode version on size regression tracking lanes for iOS applications #79879

@ivanpovazan

Description

@ivanpovazan

Description

A notable difference has been detected in the SOD measurements for the HelloiOS Mono sample app with different versions of Xcode.
The table below shows the difference in the executable binary HelloiOS of around 7% in favour of Xcode 14.1.0 when compared to Xcode 13.3.0

SOD comparison for HelloiOS sample app

File Xcode 13.3.0 Xcode 14.1.0
HelloiOS 23126720 21593736
Info.plist 980 979
PkgInfo 8 8
Program.aotdata 4792 4792
Program.deps.json 12411 12411
Program.dll 6656 6656
Program.runtimeconfig.json 1064 1064
System.Console.aotdata 177912 177912
System.Console.dll 17408 17408
System.Private.CoreLib.aotdata 1169640 1169640
System.Private.CoreLib.dll 1047552 1047552
icudt.dat 1859040 1859040
icudt_CJK.dat 956416 956416
icudt_EFIGS.dat 550320 550320
icudt_no_CJK.dat 1106560 1106560

Since .NET performance pipelines seem to be using Xcode 13.2.1, consider upgrading the Xcode version to get more accurate measurements.

Repro

  1. Clean checkout current main
  2. Set Xcode version to 13.3.0
  3. Build the runtime for iOS
./build.sh mono+libs -c Release -os iOS -arch arm64
  1. Build the HelloiOS sample
cd src/mono/sample/iOS/
export DevTeamProvisioning=-;make build-appbundle TARGET=iOS MONO_ARCH=arm64 MONO_CONFIG=Release AOT=true USE_LLVM=true DEPLOY_AND_RUN=false
ls -al bin/ios-arm64/publish/app/HelloiOS/Release-iphoneos/HelloiOS.app
  1. Record results
  2. Repeat the steps by setting the Xcode version to 14.1.0 in step (2)

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions