[Pixman] [PATCH 0/4] More VMX enhancements

Oded Gabbay oded.gabbay at gmail.com
Thu Sep 10 01:55:56 PDT 2015


On Mon, Sep 7, 2015 at 2:09 PM, Oded Gabbay <oded.gabbay at gmail.com> wrote:

> On Mon, Sep 7, 2015 at 2:04 PM, Pekka Paalanen <ppaalanen at gmail.com>
> wrote:
> > On Sun,  6 Sep 2015 18:27:07 +0300
> > Oded Gabbay <oded.gabbay at gmail.com> wrote:
> >
> >> This patch-set contains optimizations for two existing VMX fast-paths
> and a new
> >> VMX fast-path function.
> >>
> >> The optimization ideas came from Siarhei's recent implementation of
> over_n_8888
> >> VMX fast path (see
> http://lists.freedesktop.org/archives/pixman/2015-September/003951.html).
> >>
> >> The new function I added is actually one that I already implemented a
> couple
> >> of months ago, but it produced conflicting results regarding the
> performance.
> >> However, I now optimized it and it now shows considerable performance
> >> improvement over the non-vmx path.
> >>
> >> The last patch removes many helper functions that caused the less than
> stellar
> >> performance the current fast-paths provide. I removed them as I don't
> want
> >> anyone to try and use them, because there are much better alternatives,
> as
> >> I've demonstrated with this patch-set.
> >>
> >> Thanks,
> >>
> >>       Oded
> >>
> >> Oded Gabbay (4):
> >>   vmx: optimize scaled_nearest_scanline_vmx_8888_8888_OVER
> >>   vmx: optimize vmx_composite_over_n_8888_8888_ca
> >>   vmx: implement fast path vmx_composite_over_n_8_8888
> >>   vmx: Remove unused expensive functions
> >>
> >>  pixman/pixman-vmx.c | 439
> ++++++++++++++++++----------------------------------
> >>  1 file changed, 150 insertions(+), 289 deletions(-)
> >>
> >
> > Hi Oded,
> >
> > nice diffstat. :-)
> >
> > This series is:
> > Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
> >
> > I did notice a few minor issues. Patch 1 has a dereference before
> > NULL-check, and you sometimes forget the space before an opening
> > parenthesis.
> >
> > I suppose there is no danger of regressing operations you didn't
> > touch? ;-)
> >
> >
> > Thanks,
> > pq
>
> HI Pekka,
> I run cario benchmark (trimmed) and there was *no* regression.
> I don't think optimizing some fast-paths affects other, non-related,
> fast-paths. And, of course, I don't think it has *any* impact on non
> POWER systems.
> However, if someone thinks of a specific other function I need to
> check for regression, I'm open for suggestions :)
>
>          Oded
>

​It bugged me that there was no change, neither up nor down in cairo
benchmark.
So I rechecked it and I had a wrong setup - cairo used the system-installed
pixman instead of my pixman.

After fixing that, I saw several modest speedups for this patch series:

Speedups
========
image        t-firefox-scrolling  1232.30 (1237.81 0.40%) -> 1080.17
(1097.06 0.99%):  1.14x speedup
image        t-gnome-terminal-vim  613.86 (615.04 0.12%) -> 549.73 (551.32
0.13%):  1.12x speedup
image        t-evolution  405.54 (412.06 0.81%) -> 370.57 (379.11 1.89%):
 1.09x speedup
image        t-gvim  653.02 (655.16 0.16%) -> 615.31 (618.40 1.68%):  1.06x
speedup
image        t-firefox-talos-gfx  919.31 (926.31 0.36%) -> 867.05 (870.01
0.35%):  1.06x speedup
​
I'll add it into the last commit of this patch-set for future references.

         Oded
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/pixman/attachments/20150910/afff7f15/attachment.html>


More information about the Pixman mailing list