Closed Bug 1395325 (macOS-PGO) Opened 7 years ago Closed 5 years ago

Enable PGO on macOS

Categories

(Firefox Build System :: General, enhancement, P1)

32 Branch
Unspecified
macOS
enhancement

Tracking

(firefox-esr60 wontfix, firefox65 wontfix, firefox66 wontfix, firefox67 wontfix, firefox68 wontfix)

RESOLVED FIXED
Tracking Status
firefox-esr60 --- wontfix
firefox65 --- wontfix
firefox66 --- wontfix
firefox67 --- wontfix
firefox68 --- wontfix

People

(Reporter: bkelly, Assigned: chmanchester)

References

Details

Bug 1356652 yielded pretty nice gains in our speedometer score on windows. I understand, though, that we don't do LTO/PGO on mac. I've heard clang on mac supports this now. Is this something we could try to implement?
Our Mac builds are Linux cross-compiles now. How would profiling work?
PGO is hard, because we aren't running on a Mac to run the browser and get a profile. We could stick a profile in tooltool, but we'd have to update it periodically. LTO is more easily done; the clang docs advertise their LTO implementation as ready to go as of 3.9. Whether it actually works on a program of Firefox's size is another matter.
With TaskCluster, at least in theory, it should be possible to perform the first phase of the PGO build, package the DMG and generate a task to run it on an OSX test machine against our PGO training set, generate the profile file as an artifact and send that back to a Linux builder as an input file and then do a second stage build there.
FWIW, we've floated the idea of splitting PGO builds up into separate tasks like that for purposes of reproducibility.
Product: Core → Firefox Build System
Depends on: 1469088
Depends on: 1469091
Depends on: 1471132
Depends on: macOS-LTO
No longer depends on: 1469088, 1469091, 1471132
Depends on: 1485503
No longer depends on: 1485503
OS: Unspecified → Mac OS X
Because LTO for macOS was enabled in bug 1473786, I am reducing the scope of this bug from "Investigate PGO/LTO" to simply "Enable PGO". Setting priority to P1 because mshal and chmanchester are actively working to support macOS and Android PGO.
Alias: macOS-PGO
Priority: -- → P1
Summary: Investigate PGO/LTO on mac platform → Enable PGO on macOS
Depends on: 1515415

68=wontfix. chmanchester estimates macOS worker pool bug 1499051 will take about a month (mid-May), so we won't be able to enable macOS PGO Firefox 68 Nightly.

Chris, now that you've enabled PGO for macOS shippable builds (bug 1604578), is there any work left to do before we close this meta bug? Any automation, releng, or other cleanup?

macOS PGO is probably worth a mention in 73's release notes. :)

Flags: needinfo?(cmanchester)

I will take bug 1530058 as a follow up, but otherwise there isn't anything left here I'm aware of.

Status: NEW → RESOLVED
Closed: 5 years ago
Flags: needinfo?(cmanchester)
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.