Page MenuHomeSolus

Enable cross-lang PGO

Authored by joebonrichie on Mar 18 2020, 6:18 PM.



Now that firefox has added StyleBench to their PGO training automation it makes sense to enable cross-lang PGO so that both rust code and cpp code can get profiled. Firefox's CSS engine Stylo is written in rust and StyleBench is written to benchmark CSS performance.

Unfortunately their build system doesn't support cross-lang PGO as part of the MOZ_PGO automated build flag and interally they have switched to using taskcluster to run the steps separately so there's a good chance MOZ_PGO will stop working at some point. Therefore do the PGO steps manually.

The stylebench score increases from 92.1 to 101 with cross-lang PGO and WebRender enabled.

Signed-off-by: Joey Riches <>

Test Plan

Use firefox as normal

Diff Detail

R755 firefox
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

joebonrichie created this revision.Mar 18 2020, 6:18 PM
joebonrichie requested review of this revision.Mar 18 2020, 6:18 PM

Mostly putting this on arc first instead of just pushing so I can some comments to cleanup the manual PGO steps. Use of sed and echo is a bit quick and dirty.

JoshStrobl accepted this revision.Mar 19 2020, 3:34 PM
JoshStrobl added a subscriber: JoshStrobl.

Seems saneish.

This revision is now accepted and ready to land.Mar 19 2020, 3:34 PM
This revision was automatically updated to reflect the committed changes.