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. I am no longer presenting benchmarks with the old L2 cache configuration (allocate-on-write) because the default has now changed: https://github.com/raspberrypi/firmware/commit/17a9a12ef4540d586e2b10632c84e18a0feedfb7 The results for lowlevel-blt-bench tests are presented alongside the patch that changes the respective composite operation. The analysis of these results have changed slightly from my earlier posts: now outlying results have been discarded (the threshold chosed being those falling outside 5 times the median absolute deviation). This certainly reduces the standard deviations, particularly on the faster tests like the L1 ones, and should hopefully give a more accurate illustration of the typical speed improvement. Due to the time it takes to run the cairo-perf-trace benchmark, I present below only a before and after snapshot across the patch series as a whole, rather than on a patch-by-patch basis: Before: [ # ] backend test min(s) median(s) stddev. count [ # ] image: pixman 0.29.1 [ 0] image t-swfdec-giant-steps 20.257 20.291 0.10% 6/6 [ 1] image t-firefox-asteroids 13.982 14.006 0.07% 6/6 [ 2] image t-firefox-fishbowl 26.032 26.075 0.07% 6/6 [ 3] image t-firefox-chalkboard 35.755 35.758 0.02% 5/6 [ 4] image t-midori-zoomed 7.449 7.457 0.10% 5/6 [ 5] image t-firefox-scrolling 30.675 30.812 0.24% 6/6 [ 6] image t-poppler 11.504 11.545 0.23% 6/6 [ 7] image t-chromium-tabs 4.762 4.779 0.18% 6/6 [ 8] image t-grads-heat-map 3.707 3.723 0.43% 6/6 [ 9] image t-firefox-canvas-alpha 19.978 20.279 0.86% 6/6 [ 10] image t-firefox-talos-gfx 29.465 29.535 0.27% 5/6 [ 11] image t-gnome-terminal-vim 20.308 20.354 0.17% 6/6 [ 12] image t-firefox-fishtank 21.396 21.420 0.09% 5/6 [ 13] image t-evolution 12.800 12.898 0.34% 6/6 [ 14] image t-poppler-reseau 21.339 21.853 0.88% 6/6 [ 15] image t-firefox-talos-svg 19.322 19.342 0.07% 6/6 [ 16] image t-firefox-planet-gnome 11.909 11.978 0.27% 6/6 [ 17] image t-firefox-particles 25.155 25.160 0.02% 5/6 [ 18] image t-gnome-system-monitor 26.247 26.259 0.04% 6/6 [ 19] image t-firefox-canvas 17.597 17.645 0.16% 6/6 [ 20] image t-swfdec-youtube 9.870 9.877 0.04% 5/6 [ 21] image t-gvim 18.557 18.629 0.28% 6/6 [ 22] image t-firefox-paintball 24.541 24.556 0.02% 5/6 [ 23] image t-xfce4-terminal-a1 24.496 24.720 0.46% 6/6 After: [ # ] backend test min(s) median(s) stddev. count [ # ] image: pixman 0.29.1 [ 0] image t-swfdec-giant-steps 13.617 13.638 0.12% 6/6 [ 1] image t-firefox-asteroids 10.405 10.434 0.16% 5/6 [ 2] image t-firefox-fishbowl 22.539 22.542 0.02% 5/6 [ 3] image t-firefox-chalkboard 35.226 35.254 0.19% 6/6 [ 4] image t-midori-zoomed 6.323 6.341 0.15% 5/6 [ 5] image t-firefox-scrolling 24.338 24.422 0.17% 6/6 [ 6] image t-poppler 11.529 11.549 0.44% 6/6 [ 7] image t-chromium-tabs 4.198 4.239 0.68% 6/6 [ 8] image t-grads-heat-map 3.800 3.834 0.57% 6/6 [ 9] image t-firefox-canvas-alpha 18.708 18.802 0.49% 6/6 [ 10] image t-firefox-talos-gfx 28.117 28.197 0.25% 6/6 [ 11] image t-gnome-terminal-vim 19.547 19.611 0.23% 5/6 [ 12] image t-firefox-fishtank 19.124 19.147 0.09% 5/6 [ 13] image t-evolution 11.456 11.484 0.25% 6/6 [ 14] image t-poppler-reseau 21.905 21.975 0.18% 5/6 [ 15] image t-firefox-talos-svg 18.880 18.893 0.05% 5/6 [ 16] image t-firefox-planet-gnome 10.637 10.640 0.94% 6/6 [ 17] image t-firefox-particles 23.769 23.799 0.08% 5/6 [ 18] image t-gnome-system-monitor 13.573 13.600 0.10% 5/6 [ 19] image t-firefox-canvas 16.489 16.555 0.25% 6/6 [ 20] image t-swfdec-youtube 9.767 9.773 0.15% 5/6 [ 21] image t-gvim 18.528 18.609 0.27% 6/6 [ 22] image t-firefox-paintball 18.917 19.070 0.51% 6/6 [ 23] image t-xfce4-terminal-a1 22.211 22.403 0.43% 6/6 Percentage improvement in median results: t-swfdec-giant-steps 48.783 t-firefox-asteroids 34.234 t-firefox-fishbowl 15.673 t-firefox-chalkboard 1.430 t-midori-zoomed 17.600 t-firefox-scrolling 26.165 t-poppler -0.035 t-chromium-tabs 12.739 t-grads-heat-map -2.895 t-firefox-canvas-alpha 7.856 t-firefox-talos-gfx 4.745 t-gnome-terminal-vim 3.789 t-firefox-fishtank 11.871 t-evolution 12.313 t-poppler-reseau -0.555 t-firefox-talos-svg 2.377 t-firefox-planet-gnome 12.575 t-firefox-particles 5.719 t-gnome-system-monitor 93.081 t-firefox-canvas 6.584 t-swfdec-youtube 1.064 t-gvim 0.107 t-firefox-paintball 28.768 t-xfce4-terminal-a1 10.342 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 pixman/Makefile.am | 4 +- pixman/pixman-arm-simd-asm-scaled.S | 165 ++++++ pixman/pixman-arm-simd-asm.S | 981 ++++++++++++++++++++--------------- pixman/pixman-arm-simd-asm.h | 868 +++++++++++++++++++++++++++++++ pixman/pixman-arm-simd.c | 505 ++++++------------ 5 files changed, 1774 insertions(+), 749 deletions(-) create mode 100644 pixman/pixman-arm-simd-asm-scaled.S create mode 100644 pixman/pixman-arm-simd-asm.h -- 1.7.5.4 _______________________________________________ Pixman mailing list Pixman@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pixman