[
https://issues.apache.org/jira/browse/HIVE-10180?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14482475#comment-14482475
]
Chengxiang Li commented on HIVE-10180:
--------------------------------------
[~gopalv], i'm waiting for [~Ferd]'s working on micro benchmark
tool(HIVE-10189), seems it would take some time, so i would just put my own
test result here at first, i just calculate
DoubleColAddDoubleColumn/LongColAddLongColumn 100000000 times w/ and w/o patch,
here is the numbers:
||Expression||Not vectorized(sec)||Vectorized(sec)||
|DoubleColAddDoubleColumn|51.23|17.64|
|LongColAddLongColumn|51.17|21.51|
Environment:
java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)
Intel(R) Core(TM) i3-2130 CPU @ 3.40GHz
Linux version 2.6.32-279.el6.x86_64
> Loop optimization in ColumnArithmeticColumn.txt
> -----------------------------------------------
>
> Key: HIVE-10180
> URL: https://issues.apache.org/jira/browse/HIVE-10180
> Project: Hive
> Issue Type: Sub-task
> Reporter: Chengxiang Li
> Assignee: Chengxiang Li
> Priority: Minor
> Attachments: HIVE-10180.1.patch
>
>
> JVM is quite strict on the code schema which may executed with SIMD
> instructions, take a loop in DoubleColAddDoubleColumn.java for example,
> {code:java}
> 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 message was sent by Atlassian JIRA
(v6.3.4#6332)