Convert build/docs/*.rst (top-level and mozbuild/) to MyST-flavored
Markdown.
- Keep build/docs/mozbuild-symbols.rst as RST. The mozbuildsymbols
custom directive emits nodes that confuse autosectionlabel when
wrapped in a MyST eval-rst block.
- Keep build/docs/supported-configurations.rst as RST so that
docs/contributing/build/supported.md can continue to use the MyST
{include} directive on the original source.
- Refresh allowed-warnings globs to match the .md filenames for
code-quality, contributing, crash-reporting, gtest, jsloader, js,
overview, setup, and js/build.
Differential Revision: https://phabricator.services.mozilla.com/D304226
728 B
728 B
(pgo)=
Profile Guided Optimization
{abbr}PGO (Profile Guided Optimization) is the process of adding
probes to a compiled binary, running said binary, then using the
run-time information to recompile the binary to (hopefully) make it
faster.
How PGO Builds Work
The supported interface for invoking a PGO build is to add MOZ_PGO=1 to
configure flags and then build. e.g. in your mozconfig:
ac_add_options MOZ_PGO=1
Then:
$ ./mach build
This is roughly equivalent to:
#. Perform a build with *--enable-profile-generate* in $topobjdir/instrumented
#. Perform a run of the instrumented binaries with build/pgo/profileserver.py
#. Perform a build with *--enable-profile-use* in $topobjdir