[ 
https://issues.apache.org/jira/browse/DRILL-8088?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17467842#comment-17467842
 ] 

ASF GitHub Bot commented on DRILL-8088:
---------------------------------------

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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


> Improve expression evaluation performance
> -----------------------------------------
>
>                 Key: DRILL-8088
>                 URL: https://issues.apache.org/jira/browse/DRILL-8088
>             Project: Apache Drill
>          Issue Type: Improvement
>          Components: Execution - Codegen
>            Reporter: wtf
>            Assignee: wtf
>            Priority: Minor
>
> Found unnecessary map copy when doing expression evaluation, it will slow 
> down the codegen when the query include many "case when" or avg/stddev(the 
> reduced expressions include "case when"). In our case, the query include 314 
> avg, it takes 3+ seconds to generate the projector expressions(Intel(R) 
> Xeon(R) CPU E5-2682 v4 @ 2.50GHz 32cores).



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to