[cairo] Faster bilinear scaling

Soeren Sandmann 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.


Soren


More information about the cairo mailing list