mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-03-21 05:33:45 -04:00
install: small rewording and restructuring of PGO instructions
This commit is contained in:
parent
27f3ca1255
commit
84b24d34d2
1 changed files with 10 additions and 12 deletions
22
INSTALL.md
22
INSTALL.md
|
|
@ -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:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue