You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2020/09/08 10:13:00 UTC

[jira] [Commented] (IMPALA-7658) Proper codegen for HiveUdfCall

    [ https://issues.apache.org/jira/browse/IMPALA-7658?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17192105#comment-17192105 ] 

ASF subversion and git services commented on IMPALA-7658:
---------------------------------------------------------

Commit dc08b657e86c3bd81af27c7acf4a31b39b5b20e9 in impala's branch refs/heads/master from Daniel Becker
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=dc08b65 ]

IMPALA-7658: Proper codegen for HiveUdfCall

Implementing codegen for HiveUdfCall.

Testing:
Verified that java udf tests pass locally.

Benchmarks:
Used a UDF from TestUdf.java that adds three integers:

  create function tpch15_parquet.sum3(int, int, int) returns int
  location '/test-warehouse/impala-hive-udfs.jar'
  symbol='org.apache.impala.TestUdf';

Used the following query on the master branch and the change's branch:

  set num_nodes=1; set mt_dop=1;
  select min(tpch15_parquet.sum3(cast(l_orderkey as int),
    cast(l_partkey as int), cast(l_suppkey as int)))
  from tpch15_parquet.lineitem;

Results averaged over 100 runs after warmup:
Master: 20.6346s, stddev: 0.3132411856765332
This change: 19.0256s, stddev: 0.42039019873436

This is a ~7.8% improvement.

Change-Id: I2f994dac550f297ed3c88491816403f237d4d747
Reviewed-on: http://gerrit.cloudera.org:8080/16314
Reviewed-by: Impala Public Jenkins <im...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>


> Proper codegen for HiveUdfCall
> ------------------------------
>
>                 Key: IMPALA-7658
>                 URL: https://issues.apache.org/jira/browse/IMPALA-7658
>             Project: IMPALA
>          Issue Type: Improvement
>          Components: Backend
>            Reporter: Tim Armstrong
>            Assignee: Daniel Becker
>            Priority: Major
>              Labels: codegen, performance
>
> This function uses GetCodegendComputeFnWrapper() to call the interpreted path but instead we could codegen the Evaluate() function to reduce the overhead. I think this is likely to be a little involved since there's a loop to unroll, so the solution might end up looking like IMPALA-5168



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org