[cairo] fbmmx merge
Soeren Sandmann
sandmann at daimi.au.dk
Sat Aug 13 08:19:21 PDT 2005
Carl Worth <cworth at cworth.org> writes:
> I tried running gearflowers.svg through to see if the patch sped
> things up considerably. At first, I found a startling result:
>
> $ time svg2png gearflowers.svg gearflowers.png
> Before fbmmx patch:
> real 0m4.011s
> After: real 0m17.370s
>
> A 4X slowdown was rather discouraging. Daniel Schleef pointed out the
> patch uses inline quite heavily so I should compile with -O2. I did
> that and the results were less discouraging:
In fact you probably also need something like:
--param inline-unit-growth=10000 \
--param large-function-growth=10000
to prevent gcc from deciding not to inline in some cases.
> Before fbmmx patch:
> real 0m3.330s
> After: real 0m2.935s
>
> And here are results from an SVG file that takes a bit longer to
> render:
>
> $ time svg2png gaze.svg gaze.png
> Before fbmmx patch:
> real 0m40.030s
> After: real 0m35.700s
Is this file available from somewhere?
> Anyway, the patch looks acceptable to me. The new requirement to
> compile with -O2 to get decent performance is going to annoy me a
> bit. (It basically means I'll have to consciously decide whether to be
> in debugging mode or performance testing mode. And I'll likely be in
> the wrong mode often and confuse myself with odd behavior for a
> while.) Is there any easy way to alleviate this problem?
Using just -finline without -O2 makes gcc, at least 4.0.1, inline
functions but not optimize. This doesn't seem to be documented in the
gcc manual though.
Søren
More information about the cairo
mailing list