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

Reply via email to