install: small rewording and restructuring of PGO instructions

This commit is contained in:
Daniel Eklöf 2020-11-14 14:38:19 +01:00
parent 27f3ca1255
commit 84b24d34d2
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F

View file

@ -163,29 +163,25 @@ build.
#### Profile Guided Optimization #### Profile Guided Optimization
First, make sure you have configured a [release](#release-build) build First, make sure you have configured a [release](#release-build) build
directory, but: directory, but add these to the `CFLAGS`:
If using Clang, make sure to add `-Wno-ignored-optimization-argument * Clang: `-Wno-ignored-optimization-argument -Wno-profile-instr-out-of-date`
-Wno-profile-instr-out-of-date` to `CFLAGS`. * GCC: `-Wno-missing-profile`
If using GCC, make sure to add `-Wno-missing-profile` to `CFLAGS`. Then, tell meson we want to _generate_ profiling data, and build:
Then, tell meson we want to _generate_ profile data, and build:
```sh ```sh
meson configure -Db_pgo=generate meson configure -Db_pgo=generate
ninja ninja
``` ```
Next, we need to execute the intermediate build of foot, and run a Next, we need to actually generate the profiling data.
payload inside it that will exercise the performance critical code
paths.
There are two ways to do this: a [partial PGO build using a PGO There are two ways to do this: a [partial PGO build using a PGO
helper](#partial-pgo) binary, or a [full PGO build](#full-pgo) by helper](#partial-pgo) binary, or a [full PGO build](#full-pgo) by
running an intermediate foot binary. The latter has slightly better running the real foot binary. The latter has slightly better results
results (i.e. results in a faster binary), but must be run in a (i.e. results in a faster binary), but must be run in a Wayland
Wayland session. session.
##### Partial PGO ##### Partial PGO
@ -246,6 +242,7 @@ ninja
Continue reading in [Running the new build](#running-the-new-build) Continue reading in [Running the new build](#running-the-new-build)
### Debug build ### Debug build
```sh ```sh
@ -253,6 +250,7 @@ meson --buildtype=debug ../..
ninja ninja
``` ```
### Running the new build ### Running the new build
You can now run it directly from the build directory: You can now run it directly from the build directory: