Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 873625 - gui-apps/foot: add pgo use flag
Summary: gui-apps/foot: add pgo use flag
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Arsen Arsenović
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-09-30 09:11 UTC by Morteza
Modified: 2024-09-22 13:19 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
benchmarks for 1.16.2, 1.17.2 & 1.18.1 (pgo-benchmark.md,5.01 KB, text/markdown)
2024-08-31 10:28 UTC, Filip Kobierski
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Morteza 2022-09-30 09:11:44 UTC
According to foot documentation https://codeberg.org/dnkl/foot/src/branch/master/doc/benchmark.md pgo results in much faster binary and increased build times pretty much worth it and it's an use flag anyway.
Comment 1 Arsen Arsenović gentoo-dev 2022-10-02 08:23:42 UTC
My results differ a bit.

No PGO:
Results:

  cursor_motion (1229 samples @ 1.22 MiB):
    7.63ms avg (90% < 9ms) +-0.82ms

  dense_cells (1099 samples @ 1.29 MiB):
    8.6ms avg (90% < 10ms) +-0.91ms

  light_cells (1509 samples @ 1 MiB):
    6.11ms avg (90% < 7ms) +-0.72ms

  scrolling (99 samples @ 1 MiB):
    100.59ms avg (90% < 129ms) +-35.79ms

  scrolling_bottom_region (97 samples @ 1 MiB):
    103.41ms avg (90% < 136ms) +-20.6ms

  scrolling_bottom_small_region (89 samples @ 1 MiB):
    112.55ms avg (90% < 143ms) +-25.23ms

  scrolling_fullscreen (875 samples @ 1 MiB):
    10.94ms avg (90% < 14ms) +-2.37ms

  scrolling_top_region (103 samples @ 1 MiB):
    97.42ms avg (90% < 118ms) +-17.08ms

  scrolling_top_small_region (99 samples @ 1 MiB):
    101.29ms avg (90% < 126ms) +-18.99ms

  unicode (619 samples @ 1.06 MiB):
    15.65ms avg (90% < 15ms) +-11.59ms


PGO:
Results:

  cursor_motion (1860 samples @ 1.22 MiB):
    4.86ms avg (90% < 6ms) +-0.71ms

  dense_cells (1786 samples @ 1.29 MiB):
    5.1ms avg (90% < 6ms) +-0.77ms

  light_cells (1890 samples @ 1 MiB):
    4.8ms avg (90% < 6ms) +-0.63ms

  scrolling (91 samples @ 1 MiB):
    109.63ms avg (90% < 150ms) +-30.41ms

  scrolling_bottom_region (94 samples @ 1 MiB):
    106.98ms avg (90% < 135ms) +-29.9ms

  scrolling_bottom_small_region (87 samples @ 1 MiB):
    114.86ms avg (90% < 151ms) +-31.9ms

  scrolling_fullscreen (917 samples @ 1 MiB):
    10.42ms avg (90% < 14ms) +-2.47ms

  scrolling_top_region (97 samples @ 1 MiB):
    102.72ms avg (90% < 138ms) +-22.84ms

  scrolling_top_small_region (101 samples @ 1 MiB):
    98.52ms avg (90% < 122ms) +-17.27ms

  unicode (744 samples @ 1.06 MiB):
    12.94ms avg (90% < 12ms) +-15.62ms


There's even a regression! The build time shouldn't be an issue; sure, it doubles, but from a few seconds to a few more seconds, so not really a problem. I'll see what I can do.

BTW: the data above is from vtebench, the profiles were generated against foot's upstream script.
Comment 2 Morteza 2023-07-31 11:48:58 UTC
could you benchmark pgo again? there has been merged some fixes for pgo since the first time I opened this bug.
Comment 3 Filip Kobierski 2024-08-31 10:28:56 UTC
Created attachment 901767 [details]
benchmarks for 1.16.2, 1.17.2 & 1.18.1

I don't think the use flag should be added.
Here's my judgement of the results:
- 1.16.2 - not worth it
- 1.17.2 - mostly worth it
- 1.18.1 - not worth it