Tim Armstrong has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/12797 )

Change subject: IMPALA-4356,IMPALA-7331: codegen all ScalarExprs
......................................................................


Patch Set 6:

(10 comments)

http://gerrit.cloudera.org:8080/#/c/12797/6//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/12797/6//COMMIT_MSG@41
PS6, Line 41: IMPALA-7331 (CHAR codegen support functions) is also fixed becaus
> Shouldn't this speed up CHAR(N) manipulation? It would be nice to see some
I added a toy manual benchmark below that shows a significant improvement. Do 
you think it's worth adding something to targeted-perf? It feels a bit 
contrived unless we have a perf dataset with CHAR columns.


http://gerrit.cloudera.org:8080/#/c/12797/6//COMMIT_MSG@43
PS6, Line 43: The CHAR-specific
> nit: wrap at 72 chars
Done


http://gerrit.cloudera.org:8080/#/c/12797/6//COMMIT_MSG@53
PS6, Line 53: * Ran a basic insert benchmark, which went from 10.1s to 7.6s
            :   create table foo stored as parquet as
            :   select case when l_orderkey % 2 = 0 then 'aaa' else 'bbb' end
            :   from tpch30_parquet.lineitem;
            : * Added perf regression test to tpcds-insert, similar to the 
manual
            :   benchmark.
> Is there a specific reason for using INSERT for benchmarking?
INSERT was one of the main motivators for this work, e.g. see IMPALA-4358.


http://gerrit.cloudera.org:8080/#/c/12797/6/be/src/codegen/codegen-anyval.h
File be/src/codegen/codegen-anyval.h:

http://gerrit.cloudera.org:8080/#/c/12797/6/be/src/codegen/codegen-anyval.h@52
PS6, Line 52: /// 
TYPE_STRING,TYPE_VARCHAR,TYPE_CHAR,TYPE_FIXED_UDA_INTERMEDIATE/StringVal: { 
i64, i8* }
> Collections could be also mentioned here.
Done


http://gerrit.cloudera.org:8080/#/c/12797/6/be/src/exprs/scalar-expr.h
File be/src/exprs/scalar-expr.h:

http://gerrit.cloudera.org:8080/#/c/12797/6/be/src/exprs/scalar-expr.h@85
PS6, Line 85:  One is implemented for each
            : /// possible return type it supports (e.g. GetBooleanVal(), 
GetStringVal(), etc). The
            : /// return type is a subclass of AnyVal (e.g. StringVal). One or 
more of these compute
            : /// functions must be overridden by subclasses of ScalarExpr.
> In the new version the *Interpreted() functions have to be overriden by sub
Done


http://gerrit.cloudera.org:8080/#/c/12797/6/be/src/exprs/scalar-expr.h@265
PS6, Line 265: Interpretd
> typo
Done


http://gerrit.cloudera.org:8080/#/c/12797/6/be/src/exprs/scalar-fn-call.h
File be/src/exprs/scalar-fn-call.h:

http://gerrit.cloudera.org:8080/#/c/12797/6/be/src/exprs/scalar-fn-call.h@47
PS6, Line 47: GetCodegendComputeFn
> "Impl" is missing.
Done


http://gerrit.cloudera.org:8080/#/c/12797/6/be/src/exprs/scalar-fn-call.h@48
PS6, Line 48: e
> nit: long line could be fixed if this comment is touched
Done


http://gerrit.cloudera.org:8080/#/c/12797/6/be/src/exprs/scalar-fn-call.h@49
PS6, Line 49: If codegen is enabled, ScalarFnCall's Get*Val() compute
            : /// functions are wrappers around this codegen'd function.
> This sentence would be more relevant in scalar-expr.h
I think the updated comment in scalar-expr.h covers this, so just deleted this 
sentence.


http://gerrit.cloudera.org:8080/#/c/12797/6/be/src/exprs/scalar-fn-call.cc
File be/src/exprs/scalar-fn-call.cc:

http://gerrit.cloudera.org:8080/#/c/12797/6/be/src/exprs/scalar-fn-call.cc@483
PS6, Line 483: // TODO: macroify this?
> +1 for this TODO, I think that it would be better to do this with macros bo
Done



--
To view, visit http://gerrit.cloudera.org:8080/12797
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I839d7a3a2f5e1309c33a1f66013ef11628c5dc11
Gerrit-Change-Number: 12797
Gerrit-PatchSet: 6
Gerrit-Owner: Tim Armstrong <tarmstr...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <csringho...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com>
Gerrit-Comment-Date: Sat, 06 Apr 2019 00:41:38 +0000
Gerrit-HasComments: Yes

Reply via email to