[ 
https://issues.apache.org/jira/browse/HIVE-11529?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Teddy Choi updated HIVE-11529:
------------------------------
    Attachment: HIVE-11529.patch

I attached a patch file.

{{IfExprLongColumnLongScalar}}, {{IfExprLongScalarLongColumn}}, 
{{IfExprLongScalarLongScalar}}, {{GenVectorCode}} were modified to apply SIMD 
optimization.

{{GenericUDFIf}}, {{TestVectorConditionalExpressions}}, 
{{TestVectorizationContext}} were modified to reflect package changes of the 
modified vectorized classes.

{{VectorizationBench}} added several benchmark tests that covers the modified 
vectorized classes.

> Loop optimization for SIMD in IfExprLong*Long*
> ----------------------------------------------
>
>                 Key: HIVE-11529
>                 URL: https://issues.apache.org/jira/browse/HIVE-11529
>             Project: Hive
>          Issue Type: Sub-task
>          Components: Vectorization
>            Reporter: Teddy Choi
>            Assignee: Teddy Choi
>            Priority: Minor
>         Attachments: HIVE-11529.patch
>
>
> HIVE-10238 showed that ?: operator can be optimized with bitwise operators 
> when it only handles LongColumnVectors. There are more similar cases as 
> following.
> IfExprLongColumnLongScalar: {code}outputVector[i] = (vector1[i] == 1 ? 
> vector2[i] : arg3Scalar);{code}
> IfExprLongScalarLongColumn: {code}outputVector[i] = (vector1[i] == 1 ? 
> arg2Scalar : vector3[i]);{code}
> IfExprLongScalarLongScalar: {code}outputVector[i] = (vector1[i] == 1 ? 
> arg2Scalar : arg3Scalar);{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to