22 Feb 2011 22:23
[PATCH 3/7] C variant of bilinear scaled 'src_8888_8888' fast path
From: Siarhei Siamashka <siarhei.siamashka@...> Because of doing scaling in a single pass without temporary buffers, it is a bit faster than general path on x86 (and provides even better speedup on MIPS and ARM). Benchmark on Intel Core i7: Using cairo-perf-trace: before: image firefox-planet-gnome 12.566 12.610 0.23% 6/6 after: image firefox-planet-gnome 12.019 12.054 0.15% 5/6 Microbenchmark (scaling 2000x2000 image with scale factor close to 1x): before: op=1, src=20028888, dst=20028888, speed=70.48 MPix/s after: op=1, src=20028888, dst=20028888, speed=82.61 MPix/s Benchmark on ARM Cortex-A8: Microbenchmark (scaling 2000x2000 image with scale factor close to 1x): before: op=1, src=20028888, dst=20028888, speed=6.70 MPix/s after: op=1, src=20028888, dst=20028888, speed=10.72 MPix/s Benchmark on MIPS 24K: Microbenchmark (scaling 2000x2000 image with scale factor close to 1x): before: op=1, src=20028888, dst=20028888, speed=5.12 MPix/s after: op=1, src=20028888, dst=20028888, speed=6.96 MPix/s Microbenchmark (scaling 500x500 image with scale factor close to 1x): before: op=1, src=20028888, dst=20028888, speed=5.26 MPix/s after: op=1, src=20028888, dst=20028888, speed=7.00 MPix/s --- pixman/pixman-fast-path.c | 144 +++++++++++++++++++++++++++++++++++++++++++++(Continue reading)
RSS Feed