[
https://issues.apache.org/jira/browse/HIVE-17147?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16096005#comment-16096005
]
Matt McCline edited comment on HIVE-17147 at 7/21/17 9:14 AM:
--------------------------------------------------------------
Number of rows is 1,000,000 but just cold test (SinglePassTime) since we don't
support multiple iterations yet.
Interesting that plain row-mode MapJoin with HashMap is fastest for Inner and
Outer!
{noformat}
Benchmark
Mode Samples Score Error Units
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerBigOnlyNativeVectorFastBench.bench
ss 1 55.000 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerBigOnlyNativeVectorOptimizedBench.bench
ss 1 104.814 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerBigOnlyRowModeHashMapBench.bench
ss 1 935.186 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerBigOnlyRowModeOptimized_Bench.bench
ss 1 953.160 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerBigOnlyVectorPassThrough_Bench.bench
ss 1 987.629 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerNativeVectorFastBench.bench
ss 1 1184.309 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerNativeVectorOptimizedBench.bench
ss 1 1229.038 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerRowModeHashMapBench.bench
ss 1 578.308 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerRowModeOptimized_Bench.bench
ss 1 1703.355 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerVectorPassThrough_Bench.bench
ss 1 3022.763 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyLeftSemiNativeVectorFastBench.bench
ss 1 55.222 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyLeftSemiNativeVectorOptimizedBench.bench
ss 1 104.688 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyLeftSemiRowModeHashMapBench.bench
ss 1 952.018 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyLeftSemiRowModeOptimized_Bench.bench
ss 1 938.138 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyLeftSemiVectorPassThrough_Bench.bench
ss 1 1005.610 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyOuterNativeVectorFastBench.bench
ss 1 1202.786 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyOuterNativeVectorOptimizedBench.bench
ss 1 1225.712 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyOuterRowModeHashMapBench.bench
ss 1 794.460 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyOuterRowModeOptimized_Bench.bench
ss 1 2761.166 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyOuterVectorPassThrough_Bench.bench
ss 1 3855.766 ± NaN ms
{noformat}
was (Author: mmccline):
Number of rows is 1,000,000 but just cold test (SinglePassTime) since we don't
support multiple iterations yet.
{noformat}
Benchmark
Mode Samples Score Error Units
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerBigOnlyNativeVectorFastBench.bench
ss 1 55.000 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerBigOnlyNativeVectorOptimizedBench.bench
ss 1 104.814 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerBigOnlyRowModeHashMapBench.bench
ss 1 935.186 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerBigOnlyRowModeOptimized_Bench.bench
ss 1 953.160 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerBigOnlyVectorPassThrough_Bench.bench
ss 1 987.629 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerNativeVectorFastBench.bench
ss 1 1184.309 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerNativeVectorOptimizedBench.bench
ss 1 1229.038 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerRowModeHashMapBench.bench
ss 1 578.308 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerRowModeOptimized_Bench.bench
ss 1 1703.355 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerVectorPassThrough_Bench.bench
ss 1 3022.763 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyLeftSemiNativeVectorFastBench.bench
ss 1 55.222 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyLeftSemiNativeVectorOptimizedBench.bench
ss 1 104.688 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyLeftSemiRowModeHashMapBench.bench
ss 1 952.018 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyLeftSemiRowModeOptimized_Bench.bench
ss 1 938.138 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyLeftSemiVectorPassThrough_Bench.bench
ss 1 1005.610 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyOuterNativeVectorFastBench.bench
ss 1 1202.786 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyOuterNativeVectorOptimizedBench.bench
ss 1 1225.712 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyOuterRowModeHashMapBench.bench
ss 1 794.460 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyOuterRowModeOptimized_Bench.bench
ss 1 2761.166 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyOuterVectorPassThrough_Bench.bench
ss 1 3855.766 ± NaN ms
{noformat}
> Vectorization: Add code for testing MapJoin operator in isolation and
> measuring its performance with JMH
> --------------------------------------------------------------------------------------------------------
>
> Key: HIVE-17147
> URL: https://issues.apache.org/jira/browse/HIVE-17147
> Project: Hive
> Issue Type: Bug
> Components: Hive
> Reporter: Matt McCline
> Assignee: Matt McCline
> Priority: Critical
>
> Current limitations:
> Only a one long key test currently. Need more tests.
> The hive-jmh test doesn't handle multiple iterations. And, the number of
> rows and keys being driven through is way too small to be meaningful.
> The focus of this change was to get things started.
> NOTE: This change does change main line code by adding test hooks.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)