hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chengxiang Li (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-10180) Loop optimization in ColumnArithmeticColumn.txt
Date Tue, 07 Apr 2015 02:47:12 GMT

    [ 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)

Mime
View raw message