Le 12/06/2020 à 08:30, Micah Kornfield a écrit :
> Hi Frank,
> Are the performance numbers you published for the baseline directly from
> master?  I'd like to look at this over the next few days to see if I can
> figure out what is going on.
> 
> To all:
> I'd like to make sure we flush out things to consider in general, for a
> path forward.
> 
> My take on this is we should still prefer writing code in this order:
> 1.  Plain-old C++

I don't know if that is included morally in your 1), but there's
1.5) C++ with hand-unrolled loops

> 3.  Native CPU intrinsics.  We should develop a rubric for when to accept
> PRs for this.  This should include:
>        1.  Performance gain.
>        2.  General popularity of the architecture.

This should also include 3) criticality of the optimization.  For
example, improving operations on null bitmaps sounds more critical for
Arrow than optimizing e.g. the "ascii_lower" kernel.

> For dynamic dispatch:
> I think we should probably continue down the path of building our own.

Agreed.  There seem to be two possible approaches with this:
1) a hardwired list of tests for CPU flags
2) a lazily-cached function pointer

Regards

Antoine.

Reply via email to