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
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
-Wno-profile-instr-out-of-date` to `CFLAGS`.
* Clang: `-Wno-ignored-optimization-argument -Wno-profile-instr-out-of-date`
* GCC: `-Wno-missing-profile`
If using GCC, make sure to add `-Wno-missing-profile` to `CFLAGS`.
Then, tell meson we want to _generate_ profile data, and build:
Then, tell meson we want to _generate_ profiling data, and build:
```sh
meson configure -Db_pgo=generate
ninja
```
Next, we need to execute the intermediate build of foot, and run a
payload inside it that will exercise the performance critical code
paths.
Next, we need to actually generate the profiling data.
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
running an intermediate foot binary. The latter has slightly better
results (i.e. results in a faster binary), but must be run in a
Wayland session.
running the real foot binary. The latter has slightly better results
(i.e. results in a faster binary), but must be run in a Wayland
session.
##### Partial PGO
@ -246,6 +242,7 @@ ninja
Continue reading in [Running the new build](#running-the-new-build)
### Debug build
```sh
@ -253,6 +250,7 @@ meson --buildtype=debug ../..
ninja
```
### Running the new build
You can now run it directly from the build directory: