On Thu, 17 Sep 2015 17:20:22 +0300
Siarhei Siamashka <[email protected]> wrote:

> On Mon,  7 Sep 2015 14:40:48 +0300
> Pekka Paalanen <[email protected]> wrote:
> 
> > From: Ben Avison <[email protected]>
> > 
> > This new fast path is initially disabled by putting the entries in the
> > lookup table after the sentinel. The compiler cannot tell the new code
> > is not used, so it cannot eliminate the code. Also the lookup table size
> > will include the new fast path. When the follow-up patch then enables
> > the new fast path, the binary layout (alignments, size, etc.) will stay
> > the same compared to the disabled case.
> > 
> > Keeping the binary layout identical is important for benchmarking on
> > Raspberry Pi 1. The addresses at which functions are loaded will have a
> > significant impact on benchmark results, causing unexpected performance
> > changes. Keeping all function addresses the same across the patch
> > enabling a new fast path improves the reliability of benchmarks.
> 
> Don't we already have the PIXMAN_DISABLE environment variable exactly
> for this purpose (testing different implementations without recompiling
> the library)?

Now that PIXMAN_DISABLE=wholeops has landed, yeah, I think so. A good
point.

The old disable options would have disabled both fast paths and
iterators.

However, we still cannot disable fast paths one by one, which means
benchmarking for unexpected changes is not possible without this patch
arrangement. PIXMAN_DISABLE=wholeops also doesn't help with Cairo
benchmarks, so it's use it pretty limited.


Thanks,
pq

Attachment: pgp6KpIpv31AN.pgp
Description: OpenPGP digital signature

_______________________________________________
Pixman mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pixman

Reply via email to