[cairo] [PATCH] Performance patch for bo intersections

Baz brian.ewins at gmail.com
Wed Dec 13 06:57:18 PST 2006


On 12/12/06, Carl Worth <cworth at cworth.org> wrote:
> On Tue, 12 Dec 2006 18:00:22 +0000, Baz wrote:
> > Ok, here's a tidied up patch.
>
> Thanks. That's much better.
>
> > xlib-rgba    paint_solid_rgba_source-256    0.48 5.60% ->   0.22
> > 5.30%:  2.20x speedup
>
> And that's a lovely result! This is a _really_ common operation, (for
> example, erasing a window to a solid background color), so it should
> help a lot to have it be twice as fast.

Unfortunately it may be fictional. Testing another patch for
bo_end_edge I got up to 9x speedup, but only on xlib cases, which
seemed mighty suspicious; I put it down to the general bustedness of
xlib on OS X.  However, retrying cairo-perf-diff with
CAIRO_TEST_BACKEND=image to get more trustworthy results is
consistently seeing a 30% speedup for paint_solid tests. I'm at a loss
to explain why - it doesn't seem to hit the changed code in the
profiles.

My best guess was that some slow-start effect was making the early
tests in the first run (ie paint_solid) appear slower. However,
running perf-diff with the revision order reversed - so that 'real'
speedups would become slowdowns, and 'fake' speedups would continue to
be speedups - is still showing this change as real. I am mystified.

-Baz


More information about the cairo mailing list