Currently we use x86 instrumented builds to generate profile data for arm32 shippable builds, and x86_64 for aarch64. I see a 3 to 4% improvement in speedometer3 score when doing an aarch64 build using profile data I generated locally from an aarch64 instrumented build compared to an x86_64 one. (By hacking the android_emulator_pgo.py script to run locally and performing the profile generation in an emulator on my M2 macbook). In terms of performing these builds in CI: * Recent android arm64 system images cannot be emulated on an x86_64 host. However, we may be able to use an older android version system image. Prior to bug 1718341 we used an arm32 image, but we switched away for a reason. * Recent x86_64 system images can be run on an x86_64, and are [able to run aarch64 binaries](https://android-developers.googleblog.com/2020/03/run-arm-apps-on-android-emulator.html). However, we need to use the `google_apis` variant, and I'm not sure whether that's okay. * Perhaps we can run an aarch64 system image on an aarch64 Linux host
Bug 1865886 Comment 0 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
Currently we use x86 instrumented builds to generate profile data for arm32 shippable builds, and x86_64 for aarch64. I see a 3 to 4% improvement in speedometer3 score when doing an aarch64 build using profile data I generated locally from an aarch64 instrumented build compared to an x86_64 one. (By hacking the android_emulator_pgo.py script to run locally and performing the profile generation in an emulator on my M2 macbook). In terms of performing these builds in CI: * Recent android arm64 system images cannot be emulated on an x86_64 host. However, we may be able to use an older android version system image. Prior to bug 1718341 we used an arm32 image, but we switched away for a reason. * Recent x86_64 system images can obviously be run on an x86_64 host, and are [able to run aarch64 binaries](https://android-developers.googleblog.com/2020/03/run-arm-apps-on-android-emulator.html). However, we need to use the `google_apis` variant, and I'm not sure whether that's okay. * Perhaps we can run an aarch64 system image on an aarch64 Linux host