[cairo] Faster bilinear scaling
sandmann at daimi.au.dk
Mon Oct 26 10:06:34 PDT 2009
Siarhei Siamashka <siarhei.siamashka at gmail.com> writes:
> More specialized benchmarks would be nice to see too. For example benchmark
> scaling 99x99 to 101x101 and compare it to a simple copy of 100x100 image.
> That would give an estimate about how much this operation is memory throughput
> limited and how much it can be potentially improved.
Indeed, bilinear scaling may be a case where we would not actually be
memory bound, even with an SSE or NEON implementation.
> > Also, if anyone is interested in adding support for SIMD acceeleration
> > of fetchers, the the bilinear_interpolation() function is begging to
> > be written with SSE2 or NEON.
> This can be tried indeed.
There is a number of cases where support for implementation defined
fetchers would be useful, including gradients and the two SSE2
fetchers in bugzilla that Steve Snyder wrote.
> But as long as the code is well covered by regression tests, having
> more than one implementation should not be a problem.
Well, sometimes regression tests cause people to get sloppy and assume
that their code works just because no tests failed. Generally, I think
careful code review is desirable along with regression tests.
I went ahead and merged the bilinear optimizations.
More information about the cairo