[ https://issues.apache.org/jira/browse/HIVE-11521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14682246#comment-14682246 ]
Teddy Choi commented on HIVE-11521: ----------------------------------- [~Ferd]. Please check your configuration and distribution. When I use Hive on Tez, it shows twelve vectorizations on its execution plan on TPC-H Q2. In contrast, Hive on MapReduce shows only two vectorizations on its execution plan just for local works. Some Hadoop distribution (such as Hortonworks Data Platform) ships with Apache Tez, while some other distributions don't. {code} set hive.execution.engine=tez; set hive.vectorized.execution.enabled=true; {code} > Loop optimization for SIMD in logical operators > ----------------------------------------------- > > Key: HIVE-11521 > URL: https://issues.apache.org/jira/browse/HIVE-11521 > Project: Hive > Issue Type: Sub-task > Reporter: Teddy Choi > Assignee: Teddy Choi > Priority: Minor > Attachments: HIVE-11521.patch > > > JVM is quite strict on the code schema which may executed with SIMD > instructions, take a loop in ColOrCol.java for example, > {code} > for (int i = 0; i != n; i++) { > outputVector[i] = vector1[0] | vector2[i]; > } > {code} > The "vector1\[0\]" reference would prevent JVM to execute this part of code > with vectorized instructions, we need to assign the "vector1\[0\]" to a > variable outside of loop, and use that variable in loop. > This issues covers AND, OR, NOT logical operators. -- This message was sent by Atlassian JIRA (v6.3.4#6332)