Use arm emulator for Fenix arm32 PGO
Categories
(Core :: Performance Engineering, enhancement)
Tracking
()
Tracking | Status | |
---|---|---|
firefox137 | --- | fixed |
People
(Reporter: tcampbell, Assigned: tcampbell)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
This follows in the same spirit as Bug 1865886, but for 32-bit ARM. In unrelated investigations I found that the system-images;android-30;google_apis;x86
is the equivalent for ARM32 as we found android-31
was for arm64 (https://bugzilla.mozilla.org/show_bug.cgi?id=1865886#c4).
Updating the arm32 pgo process to be aligned with the arm64 process I seem to be able to get working builds without any fuss. The Bpgo(run)
task thus uses libndk_translation.so on x86 Android emulator on linux64 host. The result is still that we have appropriate PGO for arm-specific code paths (JITs, media, crypto, etc).
Using these builds on a physical Pixel 3 (that is 64-bit capable), I see a consistent 11% performance improvement on Speedometer 3 on Fenix Nightly Simulation builds.
Baseline: https://treeherder.mozilla.org/jobs?repo=try&selectedTaskRun=fKIQkf0kRhqtr413LgvLSw.0&revision=8764b78e04734257fdc2d3223130785bd1324956
Arm32-PGO: https://treeherder.mozilla.org/jobs?repo=try&selectedTaskRun=GVMBG3WIS7ue4O5UJ8QYBg.0&revision=a498ece3c67436a3bba068cf75fc47fdd7e46710
Assignee | ||
Comment 1•1 month ago
|
||
Bring the ARM32 PGO builds in line with ARM64 PGO by also running them on an
emulator with translation support. Previously we used the x86 profile data.
Updated•24 days ago
|
Comment 3•18 days ago
|
||
bugherder |
Description
•