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.
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.
could you benchmark pgo again? there has been merged some fixes for pgo since the first time I opened this bug.
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