EXA performance
Stefano Fedrigo
aleph at develer.com
Fri Aug 31 09:04:36 EDT 2007
Jim Gettys wrote:
> I'm worried about the fact that Cairo likes to do things 32 bits
> and they then have to be converted and composited at 16 bits;
Here are results of two runs of the cairo's performance test suite, at 16 and
24 bpp. Test hardware is a B4, xserver-1.4-branch, cairo 1.4.10. This time
24 bpp is overall better.
Only cairo_paint() is slower at 24, but not cairo_paint_with_alpha(), which is
actually a lot faster.
I oprofiled the whole runs, but haven't found significant differences between
16 and 24 bpp. Probably a profiling of the single tests could be more useful.
Output of cairo-perf-diff (nicer html format attached):
old: cairo-perf-16
new: cairo-perf-24
Speedups
========
xlib-rgb paint-with-alpha_similar_rgb_over-512 192.24 0.06% -> 47.68 0.16%: 4.04x speedup
███
xlib-rgb paint-with-alpha_similar_rgb_over-256 48.51 0.14% -> 12.39 0.56%: 3.95x speedup
███
xlib-rgb paint-with-alpha_image_rgb_over-256 63.25 0.26% -> 29.27 0.51%: 2.17x speedup
█▏
xlib-rgb paint-with-alpha_image_rgb_over-512 250.25 1.01% -> 122.63 2.40%: 2.09x speedup
█▏
xlib-rgb paint-with-alpha_similar_rgba_over-512 180.26 0.08% -> 86.75 0.10%: 2.08x speedup
█▏
xlib-rgb paint-with-alpha_similar_rgba_over-256 45.66 0.13% -> 22.17 0.34%: 2.07x speedup
█▏
xlib-rgb fill_similar_rgb_over-256 16.43 0.52% -> 9.66 0.95%: 1.71x speedup
▊
xlib-rgb paint-with-alpha_image_rgba_over-256 62.87 0.34% -> 39.25 0.48%: 1.61x speedup
▋
xlib-rgb paint-with-alpha_image_rgba_over-512 248.95 0.32% -> 159.74 0.45%: 1.56x speedup
▋
xlib-rgb stroke_similar_rgb_over-256 37.00 0.26% -> 25.80 0.40%: 1.44x speedup
▌
xlib-rgb fill_similar_rgb_over-128 5.71 1.08% -> 4.05 1.88%: 1.42x speedup
▍
xlib-rgb fill_similar_rgba_over-256 17.66 0.52% -> 12.71 0.61%: 1.40x speedup
▍
xlib-rgb paint-with-alpha_linear_rgb_over-256 88.94 0.21% -> 65.39 0.27%: 1.36x speedup
▍
xlib-rgb paint-with-alpha_linear_rgba_over-256 88.53 0.24% -> 64.95 0.26%: 1.36x speedup
▍
xlib-rgb paint-with-alpha_linear_rgb_over-512 354.73 0.19% -> 265.89 0.47%: 1.34x speedup
▍
xlib-rgb paint-with-alpha_linear_rgba_over-512 352.53 0.24% -> 264.01 0.46%: 1.34x speedup
▍
xlib-rgb fill_image_rgb_over-256 24.06 0.52% -> 18.41 0.62%: 1.31x speedup
▍
xlib-rgb stroke_similar_rgba_over-256 37.82 0.26% -> 29.30 0.33%: 1.30x speedup
▎
xlib-rgb fill_similar_rgba_over-128 6.06 0.50% -> 4.82 1.58%: 1.29x speedup
▎
xlib-rgb fill_image_rgba_over-256 26.38 0.46% -> 21.45 0.44%: 1.23x speedup
▎
xlib-rgb stroke_similar_rgb_over-128 15.97 0.47% -> 13.26 0.59%: 1.21x speedup
▎
xlib-rgb stroke_image_rgb_over-256 49.07 0.24% -> 41.01 0.32%: 1.20x speedup
▎
xlib-rgb fill_linear_rgb_over-256 35.22 0.31% -> 29.54 0.37%: 1.19x speedup
▎
xlib-rgb paint-with-alpha_radial_rgb_over-256 156.75 0.35% -> 133.54 0.14%: 1.17x speedup
▏
xlib-rgb paint-with-alpha_radial_rgb_over-512 627.70 0.15% -> 539.14 0.23%: 1.17x speedup
▏
xlib-rgb fill_similar_rgb_over-64 3.26 2.03% -> 2.80 2.55%: 1.16x speedup
▏
xlib-rgb paint-with-alpha_radial_rgba_over-256 152.81 0.36% -> 132.55 0.78%: 1.16x speedup
▏
xlib-rgb stroke_image_rgba_over-256 51.60 0.22% -> 44.51 0.35%: 1.16x speedup
▏
xlib-rgb stroke_similar_rgba_over-128 16.21 0.49% -> 14.10 0.46%: 1.15x speedup
▏
xlib-rgb fill_image_rgb_over-128 8.01 0.79% -> 6.92 0.62%: 1.15x speedup
▏
xlib-rgb stroke_linear_rgb_over-256 67.40 0.22% -> 58.75 0.28%: 1.15x speedup
▏
xlib-rgb paint-with-alpha_radial_rgba_over-512 611.50 0.18% -> 536.93 0.32%: 1.14x speedup
▏
xlib-rgb fill_similar_rgb_source-256 31.79 0.26% -> 27.98 0.22%: 1.14x speedup
▏
xlib-rgb paint-with-alpha_similar_rgb_source-512 306.70 0.07% -> 270.02 0.08%: 1.14x speedup
▏
xlib-rgb paint-with-alpha_similar_rgb_source-256 77.35 0.12% -> 68.40 0.19%: 1.13x speedup
▏
xlib-rgb fill_linear_rgb_over-128 10.86 0.73% -> 9.69 0.84%: 1.12x speedup
▏
xlib-rgb stroke_similar_rgb_source-256 62.25 0.14% -> 55.66 0.20%: 1.12x speedup
▏
xlib-rgb fill_image_rgba_over-128 8.54 0.66% -> 7.66 0.62%: 1.12x speedup
▏
xlib-rgb fill_linear_rgba_over-256 40.03 0.27% -> 35.93 0.31%: 1.12x speedup
▏
xlib-rgb stroke_image_rgb_over-128 19.33 0.44% -> 17.38 0.53%: 1.11x speedup
▏
xlib-rgb fill_similar_rgba_over-64 3.32 2.15% -> 2.99 2.47%: 1.11x speedup
▏
xlib-rgb paint-with-alpha_solid_rgba_source-512 157.75 0.14% -> 142.45 0.13%: 1.11x speedup
▏
xlib-rgb paint-with-alpha_solid_rgb_source-512 157.67 0.13% -> 142.39 0.13%: 1.11x speedup
▏
xlib-rgb paint-with-alpha_solid_rgba_source-256 39.69 0.24% -> 35.98 0.29%: 1.10x speedup
▏
xlib-rgb fill_similar_rgba_source-256 30.51 0.28% -> 27.70 0.25%: 1.10x speedup
▏
xlib-rgb fill_similar_rgb_source-128 9.92 0.82% -> 9.00 0.92%: 1.10x speedup
▏
xlib-rgb paint-with-alpha_solid_rgb_source-256 39.65 0.27% -> 35.99 0.27%: 1.10x speedup
▏
xlib-rgb stroke_linear_rgba_over-256 72.97 0.20% -> 66.24 0.25%: 1.10x speedup
▏
xlib-rgb paint-with-alpha_similar_rgba_source-512 294.87 0.07% -> 267.69 0.09%: 1.10x speedup
▏
xlib-rgb stroke_image_rgba_over-128 19.99 0.40% -> 18.20 0.48%: 1.10x speedup
▏
xlib-rgb paint-with-alpha_similar_rgba_source-256 74.51 0.13% -> 67.82 0.17%: 1.10x speedup
▏
xlib-rgb stroke_linear_rgb_over-128 24.13 0.42% -> 21.94 0.38%: 1.10x speedup
▏
xlib-rgb text_similar_rgb_over-128 29.20 0.32% -> 26.55 0.32%: 1.10x speedup
▏
xlib-rgb fill_radial_rgb_over-256 65.88 0.16% -> 60.23 0.19%: 1.09x speedup
▏
xlib-rgb text_similar_rgba_over-128 28.60 0.30% -> 26.33 0.48%: 1.09x speedup
▏
xlib-rgb stroke_similar_rgba_source-256 60.13 0.18% -> 55.29 0.20%: 1.09x speedup
▏
xlib-rgb text_similar_rgb_over-256 121.24 0.12% -> 111.58 0.11%: 1.09x speedup
▏
xlib-rgb fill_solid_rgb_source-256 20.40 0.27% -> 18.94 0.45%: 1.08x speedup
▏
xlib-rgb fill_solid_rgba_source-256 20.40 0.23% -> 18.94 0.42%: 1.08x speedup
▏
xlib-rgb paint-with-alpha_image_rgb_source-256 92.37 0.22% -> 85.41 0.26%: 1.08x speedup
▏
xlib-rgb text_similar_rgb_over-64 10.19 0.88% -> 9.43 0.89%: 1.08x speedup
▏
xlib-rgb fill_image_rgb_over-64 4.14 1.78% -> 3.84 2.04%: 1.08x speedup
▏
xlib-rgb fill_similar_rgba_source-128 9.68 0.87% -> 8.94 0.89%: 1.08x speedup
▏
xlib-rgb paint-with-alpha_image_rgba_source-256 92.08 0.25% -> 85.10 0.24%: 1.08x speedup
▏
xlib-rgb stroke_similar_rgb_source-128 22.22 0.32% -> 20.61 0.36%: 1.08x speedup
▏
xlib-rgb stroke_radial_rgb_over-256 118.60 0.13% -> 109.90 0.15%: 1.08x speedup
▏
xlib-rgb fill_linear_rgba_over-128 12.06 0.46% -> 11.26 0.81%: 1.08x speedup
▏
xlib-rgb fill_image_rgba_source-256 39.47 0.26% -> 36.77 0.32%: 1.07x speedup
▏
xlib-rgb text_similar_rgba_over-256 118.97 0.09% -> 110.89 0.10%: 1.07x speedup
▏
xlib-rgb stroke_linear_rgba_over-128 25.47 0.48% -> 23.75 0.44%: 1.07x speedup
▏
xlib-rgb fill_image_rgb_source-256 39.70 0.30% -> 36.97 0.28%: 1.07x speedup
▏
xlib-rgb stroke_image_rgba_source-256 74.72 0.21% -> 69.78 0.15%: 1.07x speedup
▏
xlib-rgb fill_radial_rgb_over-128 18.49 0.48% -> 17.33 0.54%: 1.07x speedup
▏
xlib-rgb stroke_image_rgb_source-256 74.97 0.18% -> 70.13 0.15%: 1.07x speedup
▏
xlib-rgb paint-with-alpha_image_rgba_source-512 363.50 0.17% -> 341.13 0.22%: 1.07x speedup
▏
xlib-rgb stroke_similar_rgb_over-64 10.08 0.80% -> 9.44 0.78%: 1.07x speedup
▏
xlib-rgb fill_image_rgba_over-64 4.27 1.67% -> 4.04 1.86%: 1.06x speedup
▏
xlib-rgb paint-with-alpha_image_rgb_source-512 364.69 0.73% -> 345.91 0.76%: 1.06x speedup
▏
xlib-rgb stroke_radial_rgb_over-128 37.08 0.21% -> 34.93 0.23%: 1.06x speedup
▏
xlib-rgb text_similar_rgba_over-64 10.07 0.85% -> 9.45 0.91%: 1.06x speedup
▏
xlib-rgb paint-with-alpha_linear_rgba_source-256 117.73 0.18% -> 110.79 0.23%: 1.06x speedup
▏
xlib-rgb paint-with-alpha_linear_rgb_source-256 118.14 0.20% -> 111.24 0.17%: 1.06x speedup
xlib-rgb fill_radial_rgba_over-256 70.67 0.14% -> 66.64 0.17%: 1.06x speedup
xlib-rgb stroke_solid_rgba_source-256 43.48 0.21% -> 41.03 0.24%: 1.06x speedup
xlib-rgb fill_linear_rgb_source-256 50.82 0.19% -> 48.14 0.31%: 1.06x speedup
xlib-rgb fill_similar_rgb_source-64 4.62 1.52% -> 4.37 1.51%: 1.06x speedup
xlib-rgb stroke_solid_rgb_source-256 43.52 0.22% -> 41.17 0.27%: 1.06x speedup
xlib-rgb stroke_similar_rgba_source-128 21.70 0.36% -> 20.51 0.32%: 1.06x speedup
xlib-rgb fill_solid_rgba_source-128 6.93 0.56% -> 6.58 0.66%: 1.06x speedup
xlib-rgb stroke_radial_rgba_over-256 124.03 0.10% -> 117.34 0.14%: 1.06x speedup
xlib-rgb fill_linear_rgba_source-256 50.61 0.21% -> 47.87 0.23%: 1.06x speedup
xlib-rgb fill_linear_rgb_over-64 5.00 1.33% -> 4.75 1.44%: 1.06x speedup
xlib-rgb text_similar_rgb_source-256 143.07 0.08% -> 135.86 0.10%: 1.05x speedup
xlib-rgb text_image_rgb_over-128 37.06 0.33% -> 35.10 0.25%: 1.05x speedup
xlib-rgb fill_solid_rgb_source-128 6.88 0.85% -> 6.55 0.94%: 1.05x speedup
xlib-rgb text_image_rgba_over-128 36.74 0.35% -> 34.90 0.23%: 1.05x speedup
xlib-rgb text_image_rgba_over-256 153.64 0.10% -> 145.93 0.11%: 1.05x speedup
xlib-rgb paint-with-alpha_linear_rgba_source-512 467.52 0.19% -> 445.07 0.27%: 1.05x speedup
xlib-rgb paint-with-alpha_linear_rgb_source-512 469.26 0.19% -> 446.00 0.24%: 1.05x speedup
xlib-rgb text_image_rgb_over-256 153.96 0.13% -> 146.48 0.12%: 1.05x speedup
Slowdowns
=========
xlib-rgb paint_similar_rgb_over-512 1.93 0.54% -> 3.76 0.45%: 1.94x slowdown
█
xlib-rgb paint_similar_rgb_source-512 1.93 0.62% -> 3.76 0.36%: 1.94x slowdown
█
xlib-rgb paint_similar_rgba_source-512 2.07 0.62% -> 3.77 0.51%: 1.83x slowdown
▉
xlib-rgb paint_solid_rgba_source-512 0.86 0.59% -> 1.48 0.48%: 1.72x slowdown
▊
xlib-rgb paint_solid_rgb_over-512 0.87 0.82% -> 1.49 0.57%: 1.71x slowdown
▊
xlib-rgb paint_solid_rgb_source-512 0.87 0.58% -> 1.49 0.63%: 1.71x slowdown
▊
xlib-rgb paint_similar_rgb_source-256 0.71 0.77% -> 1.18 0.41%: 1.69x slowdown
▊
xlib-rgb paint_similar_rgb_over-256 0.71 0.72% -> 1.18 0.47%: 1.68x slowdown
▋
xlib-rgb paint_similar_rgba_over-512 2.73 0.58% -> 4.47 0.42%: 1.65x slowdown
▋
xlib-rgb paint_similar_rgba_source-256 0.76 0.76% -> 1.20 0.55%: 1.58x slowdown
▋
xlib-rgb paint_similar_rgba_over-256 0.93 0.56% -> 1.38 0.65%: 1.48x slowdown
▌
xlib-rgb paint_solid_rgb_over-256 0.44 0.70% -> 0.60 0.59%: 1.37x slowdown
▍
xlib-rgb paint_solid_rgba_source-256 0.44 0.87% -> 0.60 0.83%: 1.36x slowdown
▍
xlib-rgb paint_solid_rgb_source-256 0.45 0.77% -> 0.60 0.83%: 1.35x slowdown
▍
xlib-rgb paint_image_rgb_over-512 22.61 2.55% -> 25.95 2.29%: 1.19x slowdown
▎
xlib-rgb paint_image_rgb_source-512 22.59 2.55% -> 25.97 2.34%: 1.17x slowdown
▏
xlib-rgb paint_image_rgba_source-512 22.79 2.71% -> 25.86 2.33%: 1.17x slowdown
▏
xlib-rgb paint_image_rgba_over-512 23.43 2.43% -> 26.58 2.21%: 1.16x slowdown
▏
xlib-rgb paint_image_rgba_source-256 6.48 3.21% -> 7.17 2.23%: 1.14x slowdown
▏
xlib-rgb paint_image_rgb_over-256 6.43 2.47% -> 7.07 2.03%: 1.13x slowdown
▏
xlib-rgb paint_image_rgba_over-256 6.61 3.03% -> 7.41 2.43%: 1.11x slowdown
▏
xlib-rgb paint_image_rgb_source-256 6.44 2.82% -> 7.08 2.25%: 1.11x slowdown
▏
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.laptop.org/pipermail/devel/attachments/20070831/c7fbf963/attachment.html>
More information about the Devel
mailing list