[Pixman] [PATCH 0/5] ARMv6: New fast path implementations that utilise prefetch

Siarhei Siamashka siarhei.siamashka at gmail.com
Tue Jan 29 12:18:33 PST 2013


On Sat, 19 Jan 2013 16:16:48 +0000
Ben Avison <bavison at riscosopen.org> wrote:

> This is a presentation of the changes I first presented on
> 2012-12-21, with the improvements from my 2013-01-14 patch series
> merged in, and with further adjustments to the prefetch distance for
> src_8888_8888 and src_0565_0565 which improve the L2
> lowlevel-blt-bench results (without adversely affecting the other
> tests) to the extent that there are no longer any statistically
> significant performance regressions in any lowlevel-blt-bench tests.
> 
> The diffs have been broken up in a way that no longer represents the
> development process, but which will hopefully be easier to inspect
> by looking at the patches in isolation.

[...]

> Ben Avison (5):
>   ARMv6: Lay the groundwork for later patches in the series
>   ARMv6: New fill routines
>   ARMv6: New blit routines
>   ARMv6: New conversion routines
>   ARMv6: Replacement add_8_8, over_8888_8888, over_8888_n_8888
>     and over_n_8_8888 routines

Thanks. Pushed the series to pixman git (with the second revision of
the first patch with more comments).

As a bonus, here are also the cairo-perf-trace results with the trimmed
traces on Cortex-A9 1.7GHz (unfortunately not Tegra2, where this test
would have been more relevant). I understand that Cortex-A9 was not the
primary target for this patchset, but it's still good to know that we
also get improvements there.

=== old armv6 ===

[ # ]  backend                         test   min(s) median(s) stddev. count
[ # ]    image: pixman 0.29.1
[  0]    image       t-firefox-planet-gnome    2.860    2.865   0.24%    7/8
[  1]    image              t-chromium-tabs    0.881    0.882   0.21%    7/8
[  2]    image                       t-gvim    4.949    4.959   0.26%    8/8
[  3]    image       t-gnome-system-monitor    6.028    6.042   0.52%    7/8
[  4]    image       t-firefox-canvas-alpha    3.962    3.983   0.31%    8/8
[  5]    image          t-firefox-scrolling    6.981    6.987   0.06%    8/8
[  6]    image         t-firefox-chalkboard    8.459    8.462   0.02%    8/8
[  7]    image             t-swfdec-youtube    2.306    2.310   0.11%    8/8
[  8]    image          t-firefox-particles    5.505    5.510   0.10%    8/8
[  9]    image           t-firefox-fishbowl    5.684    5.697   0.11%    8/8
[ 10]    image           t-firefox-fishtank    4.816    4.819   0.02%    8/8
[ 11]    image          t-xfce4-terminal-a1    5.559    5.728   1.88%    8/8
[ 12]    image             t-poppler-reseau    3.178    3.244   0.75%    7/8
[ 13]    image             t-grads-heat-map    0.559    0.560   0.09%    8/8
[ 14]    image          t-firefox-talos-gfx    5.021    5.030   0.10%    7/8
[ 15]    image          t-firefox-asteroids    4.272    4.277   0.05%    7/8
[ 16]    image              t-midori-zoomed    2.087    2.088   0.06%    7/8
[ 17]    image         t-swfdec-giant-steps    3.788    3.791   0.04%    7/8
[ 18]    image          t-firefox-talos-svg    4.067    4.074   0.06%    8/8
[ 19]    image                    t-poppler    2.735    2.743   0.25%    8/8
[ 20]    image             t-firefox-canvas    4.025    4.026   0.02%    7/8
[ 21]    image                  t-evolution    4.428    4.619   2.19%    7/8
[ 22]    image          t-firefox-paintball    5.292    5.298   0.06%    8/8
[ 23]    image         t-gnome-terminal-vim    2.790    2.817   0.58%    7/8

=== new armv6 ===

[ # ]  backend                         test   min(s) median(s) stddev. count
[ # ]    image: pixman 0.29.1
[  0]    image       t-firefox-planet-gnome    2.798    2.806   0.23%    7/8
[  1]    image              t-chromium-tabs    0.784    0.786   0.23%    7/8
[  2]    image                       t-gvim    4.944    4.972   0.42%    7/8
[  3]    image       t-gnome-system-monitor    5.639    5.661   0.28%    7/8
[  4]    image       t-firefox-canvas-alpha    3.768    3.773   0.12%    7/8
[  5]    image          t-firefox-scrolling    6.890    6.897   0.11%    7/8
[  6]    image         t-firefox-chalkboard    8.392    8.404   0.10%    8/8
[  7]    image             t-swfdec-youtube    2.264    2.267   0.08%    7/8
[  8]    image          t-firefox-particles    5.339    5.345   0.08%    7/8
[  9]    image           t-firefox-fishbowl    5.178    5.189   0.13%    7/8
[ 10]    image           t-firefox-fishtank    4.414    4.415   0.02%    7/8
[ 11]    image          t-xfce4-terminal-a1    5.321    5.533   2.25%    8/8
[ 12]    image             t-poppler-reseau    3.208    3.248   0.64%    7/8
[ 13]    image             t-grads-heat-map    0.555    0.555   0.03%    6/8
[ 14]    image          t-firefox-talos-gfx    4.800    4.812   0.23%    7/8
[ 15]    image          t-firefox-asteroids    3.804    3.808   0.38%    7/8
[ 16]    image              t-midori-zoomed    1.952    1.953   0.11%    7/8
[ 17]    image         t-swfdec-giant-steps    3.622    3.629   0.08%    7/8
[ 18]    image          t-firefox-talos-svg    4.011    4.014   0.07%    7/8
[ 19]    image                    t-poppler    2.712    2.717   0.20%    7/8
[ 20]    image             t-firefox-canvas    3.847    3.849   0.14%    7/8
[ 21]    image                  t-evolution    4.034    4.064   0.32%    7/8
[ 22]    image          t-firefox-paintball    4.529    4.534   0.31%    7/8
[ 23]    image         t-gnome-terminal-vim    2.767    2.801   0.63%    7/8


Speedups
========
image        t-firefox-paintball  5291.78 -> 4528.96 :  1.17x speedup
image            t-chromium-tabs   881.20 ->  783.62 :  1.12x speedup
image        t-firefox-asteroids  4272.31 -> 3804.48 :  1.12x speedup
image                t-evolution  4428.02 -> 4033.76 :  1.10x speedup
image         t-firefox-fishbowl  5683.86 -> 5177.92 :  1.10x speedup
image         t-firefox-fishtank  4816.44 -> 4413.95 :  1.09x speedup
image     t-gnome-system-monitor  6027.70 -> 5638.57 :  1.07x speedup
image            t-midori-zoomed  2086.73 -> 1952.16 :  1.07x speedup
image     t-firefox-canvas-alpha  3961.64 -> 3767.66 :  1.05x speedup

-- 
Best regards,
Siarhei Siamashka


More information about the Pixman mailing list