[
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/22/17 8:37 AM:
--------------------------------------------------------------
Number of rows is 10,000,000. One large 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 369.110 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerBigOnlyNativeVectorOptimizedBench.bench
ss 1 616.162 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerBigOnlyRowModeHashMapBench.bench
ss 1 2614.504 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerBigOnlyRowModeOptimized_Bench.bench
ss 1 2219.589 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerBigOnlyVectorPassThrough_Bench.bench
ss 1 1810.646 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerNativeVectorFastBench.bench
ss 1 3551.722 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerNativeVectorOptimizedBench.bench
ss 1 3715.947 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerRowModeHashMapBench.bench
ss 1 8904.528 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerRowModeOptimized_Bench.bench
ss 1 12929.175 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyInnerVectorPassThrough_Bench.bench
ss 1 9690.574 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyLeftSemiNativeVectorFastBench.bench
ss 1 321.915 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyLeftSemiNativeVectorOptimizedBench.bench
ss 1 630.389 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyLeftSemiRowModeHashMapBench.bench
ss 1 8429.331 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyLeftSemiRowModeOptimized_Bench.bench
ss 1 2100.652 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyLeftSemiVectorPassThrough_Bench.bench
ss 1 2129.787 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyOuterNativeVectorFastBench.bench
ss 1 3729.850 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyOuterNativeVectorOptimizedBench.bench
ss 1 3945.246 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyOuterRowModeHashMapBench.bench
ss 1 7463.861 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyOuterRowModeOptimized_Bench.bench
ss 1 16305.757 ± NaN ms
o.a.h.b.v.m.VectorizedMapJoinBench.MapJoinOneLongKeyOuterVectorPassThrough_Bench.bench
ss 1 13898.983 ± 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.
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}
> 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
> Attachments: HIVE-17147.01.patch, HIVE-17147.02.patch
>
>
> 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)