[cairo] Performance of the refactored Pixman

Siarhei Siamashka siarhei.siamashka at gmail.com
Tue Jul 21 06:39:15 PDT 2009


On Sunday 12 July 2009, Chris Wilson wrote:
> On Sun, 2009-07-12 at 13:26 +0300, Siarhei Siamashka wrote:
> > The problem with cairo-perf benchmark is that the minimal image size it
> > uses is 16x16. For simulating real operations with font glyphs it would
> > make sense to also try something like 8x8 or even smaller. Also cairo has
> > its own overhead and it takes a bit more to reach the real blitter code.
> >
> > So minor regressions in cairo-bench visible as just a few percents may be
> > actually tens of percents when dealing with real font glyphs.
> >
> > That's why this needs a bit more investigation and maybe some more
> > suitable benchmarks.
>
> I completely agree that our benchmarks need continual improvement and
> that solely using cairo-perf does incur extra overhead to an ideal
> pixman micro-benchmark.
>
> However, if you want to measure glyph performance why not use the glyphs
> benchmark in cairo's performance suite? That simply repeats a glyph
> string to fill a given image size. Any patches to reduce cairo's
> overhead greatly appreciated! ;-)

There is more than one way to show text (outside cairo). Terminal emulators
from gnome and xfce4 are hitting some slow path in pixman for example. Maybe
there could be other examples.

If dispatch overhead is high and can be reduced with no other side effects,
it would make sense to reduce it.

> I also want to stress not to focus too much on micro-benchmarks. If your
> benchmarking does not include typical usage, are you sure efforts are
> not best spent elsewhere? Which is another reason why I would encourage
> you to check cairo-perf-trace.
>
> (I realise that you know this, I'm just trying to point out the small
> set of tools already developed. But don't let me discourage you from
> writing a full regression suite for pixman! :-)

I actually have a desktop class linux distro running on a beagleboard with all
the debugging symbols available and compiled with frame pointers (though they
add some extra function call related overhead and skew the statistics a bit).
I can easily profile any use case and identify the performance bottlenecks. So
I would say, I'm quite focused on real performance issues and not obsessed
with microbenchmarks.

My participation in the real work on pixman performance optimizations is yet
to be started :-)

-- 
Best regards,
Siarhei Siamashka
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
Url : http://lists.cairographics.org/archives/cairo/attachments/20090721/9246217f/attachment.pgp 


More information about the cairo mailing list