You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by GitBox <gi...@apache.org> on 2022/01/03 08:16:29 UTC

[GitHub] [drill] jnturton commented on pull request #2412: DRILL-8088: Improve expression evaluation performance

jnturton commented on pull request #2412:
URL: https://github.com/apache/drill/pull/2412#issuecomment-1003928988


   > Drill was designed to allow vector operations (hence Value Vectors), but the code was never written. In part because there are no CPU vector instructions that work with SQL nullable data. Arrow is supposed to have figured out solutions (Gandiva, is it?) which, perhaps we could consider (but probably only for non-nullable data.)
   
   Hi @paul-rogers, I think that what Arrow does for computations over nullable data is store an external null mask and compute results for every record, including the null ones where the value vector contains either rubbish or some sentinel value.  In a second pass, a null mask is computed for the result.  This results in wasted arithmetic operations for null values, but in practice that's better than a branch for every value.  Quite possibly even for pretty sparse vectors.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@drill.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org