pgo: Use pixman renderer by default for PGO builds #740

Manually merged
dnkl merged 1 commits from sochotnicky/foot:use-pixman-renderer into master 10 months ago

Without pixman renderer override pgo builds in cage/sway require
access to actual render devices. In Gentoo's case the builds are run
as ordinary user and within a "sandbox" which prevents and logs access
outside of predefined places during build.

So let's default to pixman renderer for the PGO builds. Hopefully that
won't matter for the pgo optimizations to do the right thing within foot.

Without pixman renderer override pgo builds in cage/sway require access to actual render devices. In Gentoo's case the builds are run as ordinary user and within a "sandbox" which prevents and logs access outside of predefined places during build. So let's default to pixman renderer for the PGO builds. Hopefully that won't matter for the pgo optimizations to do the right thing within foot.
sochotnicky added 1 commit 10 months ago
85aaff68fb pgo: Use pixman renderer by default for PGO builds
Owner

vtebench results:

This PR, headless-cage
  cursor_motion (558 samples @ 3.76 MiB):
    17.37ms avg (90% < 19ms) +-1.07ms

  dense_cells (199 samples @ 10.88 MiB):
    49.86ms avg (90% < 51ms) +-0.8ms

  light_cells (1857 samples @ 1.21 MiB):
    4.74ms avg (90% < 6ms) +-0.91ms

  scrolling (61 samples @ 1 MiB):
    136.72ms avg (90% < 149ms) +-11.32ms

  scrolling_bottom_region (87 samples @ 1 MiB):
    115.7ms avg (90% < 126ms) +-7.89ms

  scrolling_bottom_small_region (81 samples @ 1 MiB):
    123.56ms avg (90% < 132ms) +-10.3ms

  scrolling_fullscreen (291 samples @ 1 MiB):
    5.56ms avg (90% < 7ms) +-1.07ms

  scrolling_top_region (87 samples @ 1 MiB):
    115.56ms avg (90% < 126ms) +-5.96ms

  scrolling_top_small_region (81 samples @ 1 MiB):
    124.53ms avg (90% < 133ms) +-6.68ms

  unicode (832 samples @ 1.06 MiB):
    11.41ms avg (90% < 11ms) +-17.36ms
Master branch, headless-cage
  cursor_motion (577 samples @ 3.76 MiB):
    16.84ms avg (90% < 19ms) +-1.46ms

  dense_cells (213 samples @ 10.88 MiB):
    46.69ms avg (90% < 48ms) +-1.36ms

  light_cells (1850 samples @ 1.21 MiB):
    4.77ms avg (90% < 6ms) +-0.91ms

  scrolling (58 samples @ 1 MiB):
    142.71ms avg (90% < 154ms) +-7.59ms

  scrolling_bottom_region (92 samples @ 1 MiB):
    108.95ms avg (90% < 118ms) +-6.08ms

  scrolling_bottom_small_region (83 samples @ 1 MiB):
    120.86ms avg (90% < 127ms) +-4.5ms

  scrolling_fullscreen (291 samples @ 1 MiB):
    5.65ms avg (90% < 7ms) +-1.04ms

  scrolling_top_region (90 samples @ 1 MiB):
    111.11ms avg (90% < 120ms) +-7.36ms

  scrolling_top_small_region (82 samples @ 1 MiB):
    121.98ms avg (90% < 131ms) +-7.95ms

  unicode (811 samples @ 1.06 MiB):
    11.75ms avg (90% < 11ms) +-14.81ms
Master branch, current-session
  cursor_motion (569 samples @ 3.76 MiB):
    17.12ms avg (90% < 18ms) +-0.92ms

  dense_cells (200 samples @ 10.88 MiB):
    49.52ms avg (90% < 51ms) +-0.91ms

  light_cells (1854 samples @ 1.21 MiB):
    4.75ms avg (90% < 6ms) +-0.91ms

  scrolling (59 samples @ 1 MiB):
    142.81ms avg (90% < 154ms) +-11.06ms

  scrolling_bottom_region (88 samples @ 1 MiB):
    114.24ms avg (90% < 126ms) +-9.68ms

  scrolling_bottom_small_region (78 samples @ 1 MiB):
    128.97ms avg (90% < 139ms) +-8.24ms

  scrolling_fullscreen (286 samples @ 1 MiB):
    5.92ms avg (90% < 7ms) +-1.07ms

  scrolling_top_region (91 samples @ 1 MiB):
    109.85ms avg (90% < 120ms) +-8.01ms

  scrolling_top_small_region (86 samples @ 1 MiB):
    116.65ms avg (90% < 125ms) +-6.75ms

  unicode (826 samples @ 1.06 MiB):
    11.59ms avg (90% < 11ms) +-18.4ms

So, it looks like the "scrolling" benchmarks are affected, mostly in a positive way... Though all numbers appear to be within the error margins, I re-ran the tests a couple of times, and got roughly the same results each time. So I do think there really is a difference.

In short, I think this PR is perfectly fine to merge.

[vtebench](https://github.com/alacritty/vtebench) results: <details> <summary>This PR, headless-cage</summary> ``` cursor_motion (558 samples @ 3.76 MiB): 17.37ms avg (90% < 19ms) +-1.07ms dense_cells (199 samples @ 10.88 MiB): 49.86ms avg (90% < 51ms) +-0.8ms light_cells (1857 samples @ 1.21 MiB): 4.74ms avg (90% < 6ms) +-0.91ms scrolling (61 samples @ 1 MiB): 136.72ms avg (90% < 149ms) +-11.32ms scrolling_bottom_region (87 samples @ 1 MiB): 115.7ms avg (90% < 126ms) +-7.89ms scrolling_bottom_small_region (81 samples @ 1 MiB): 123.56ms avg (90% < 132ms) +-10.3ms scrolling_fullscreen (291 samples @ 1 MiB): 5.56ms avg (90% < 7ms) +-1.07ms scrolling_top_region (87 samples @ 1 MiB): 115.56ms avg (90% < 126ms) +-5.96ms scrolling_top_small_region (81 samples @ 1 MiB): 124.53ms avg (90% < 133ms) +-6.68ms unicode (832 samples @ 1.06 MiB): 11.41ms avg (90% < 11ms) +-17.36ms ``` </details> <details> <summary>Master branch, headless-cage</summary> ``` cursor_motion (577 samples @ 3.76 MiB): 16.84ms avg (90% < 19ms) +-1.46ms dense_cells (213 samples @ 10.88 MiB): 46.69ms avg (90% < 48ms) +-1.36ms light_cells (1850 samples @ 1.21 MiB): 4.77ms avg (90% < 6ms) +-0.91ms scrolling (58 samples @ 1 MiB): 142.71ms avg (90% < 154ms) +-7.59ms scrolling_bottom_region (92 samples @ 1 MiB): 108.95ms avg (90% < 118ms) +-6.08ms scrolling_bottom_small_region (83 samples @ 1 MiB): 120.86ms avg (90% < 127ms) +-4.5ms scrolling_fullscreen (291 samples @ 1 MiB): 5.65ms avg (90% < 7ms) +-1.04ms scrolling_top_region (90 samples @ 1 MiB): 111.11ms avg (90% < 120ms) +-7.36ms scrolling_top_small_region (82 samples @ 1 MiB): 121.98ms avg (90% < 131ms) +-7.95ms unicode (811 samples @ 1.06 MiB): 11.75ms avg (90% < 11ms) +-14.81ms ``` </details> <details> <summary>Master branch, current-session</summary> ``` cursor_motion (569 samples @ 3.76 MiB): 17.12ms avg (90% < 18ms) +-0.92ms dense_cells (200 samples @ 10.88 MiB): 49.52ms avg (90% < 51ms) +-0.91ms light_cells (1854 samples @ 1.21 MiB): 4.75ms avg (90% < 6ms) +-0.91ms scrolling (59 samples @ 1 MiB): 142.81ms avg (90% < 154ms) +-11.06ms scrolling_bottom_region (88 samples @ 1 MiB): 114.24ms avg (90% < 126ms) +-9.68ms scrolling_bottom_small_region (78 samples @ 1 MiB): 128.97ms avg (90% < 139ms) +-8.24ms scrolling_fullscreen (286 samples @ 1 MiB): 5.92ms avg (90% < 7ms) +-1.07ms scrolling_top_region (91 samples @ 1 MiB): 109.85ms avg (90% < 120ms) +-8.01ms scrolling_top_small_region (86 samples @ 1 MiB): 116.65ms avg (90% < 125ms) +-6.75ms unicode (826 samples @ 1.06 MiB): 11.59ms avg (90% < 11ms) +-18.4ms ``` </details> So, it looks like the "scrolling" benchmarks are affected, mostly **in a positive way**... Though all numbers appear to be within the error margins, I re-ran the tests a couple of times, and got roughly the same results each time. So I do think there really is a difference. In short, I think this PR is perfectly fine to merge.
dnkl merged commit 7704bea876 into master manually 10 months ago
Owner

Thanks!

Thanks!
The pull request has been manually merged as 7704bea876.
Sign in to join this conversation.
Loading…
There is no content yet.