[cairo] patch for cairo_traps_extract_region
Carl Worth
cworth at cworth.org
Mon Jun 18 12:01:53 PDT 2007
On Fri, 15 Jun 2007 14:14:35 -0700, Vladimir Vukicevic wrote:
> The previous patch had some issues; I didn't catch them due to PEBKAC.
> Here's an updated patch and a perf test for this.
Great job, Vlad, thanks!
The test case looks a full 3x faster for me, (on both image and xlib
backends). And the previously very lopsided profile:
samples % image name app name symbol name
97415 30.0479 libcairo.so.2.11.4 libcairo.so.2.11.4 pixman_op
81395 25.1065 libcairo.so.2.11.4 libcairo.so.2.11.4 pixman_region_unionO
11721 3.6154 libcairo.so.2.11.4 libcairo.so.2.11.4 _compute_face
10126 3.1234 libcairo.so.2.11.4 libcairo.so.2.11.4 _cairo_traps_add_trap_from_points
9622 2.9679 oprofiled oprofiled (no symbols)
8410 2.5941 libcairo.so.2.11.4 libcairo.so.2.11.4 _cairo_stroker_line_to_dashed
7909 2.4396 libcairo.so.2.11.4 libcairo.so.2.11.4 _cairo_traps_tessellate_convex_quad
7259 2.2391 libc-2.5.so libc-2.5.so _int_malloc
6335 1.9540 libcairo.so.2.11.4 libcairo.so.2.11.4 _cairo_traps_extract_region
5888 1.8162 libcairo.so.2.11.4 libcairo.so.2.11.4 cairo_matrix_transform_distance
is now much more flat:
samples % image name app name symbol name
11736 8.3665 libcairo.so.2.11.4 libcairo.so.2.11.4 _compute_face
10708 7.6337 libcairo.so.2.11.4 libcairo.so.2.11.4 _cairo_traps_add_trap_from_points
8886 6.3348 libcairo.so.2.11.4 libcairo.so.2.11.4 _cairo_stroker_line_to_dashed
8284 5.9056 libcairo.so.2.11.4 libcairo.so.2.11.4 QuickSortRects
7611 5.4258 libcairo.so.2.11.4 libcairo.so.2.11.4 _cairo_traps_tessellate_convex_quad
7038 5.0174 libcairo.so.2.11.4 libcairo.so.2.11.4 _cairo_traps_extract_region
6630 4.7265 libcairo.so.2.11.4 libcairo.so.2.11.4 pixman_fill_rect_32bpp
5827 4.1540 libcairo.so.2.11.4 libcairo.so.2.11.4 cairo_matrix_transform_distance
> This look ok to push?
I just saw a couple of very minor cosmetic issues:
* Indentation should be 4 spaces not 2 in long-dashed-lines.c
* The change to perf/Makefile.am adds trailing whitespace, (hopefully
you've got the default git pre-commit set as executable as it will
catch this for you).
So, fix those, and yes, please push.
-Carl
PS. Sorry your mail mail got delayed---we had some "issues" with cairo
sub-domain DNS over the last few days.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://cairographics.org/archives/cairo/attachments/20070618/764280c0/attachment.pgp
More information about the cairo
mailing list