Michael Ho has posted comments on this change.

Change subject: IMPALA-4008: Don't bake ExprContext pointers into IR code
......................................................................


Patch Set 5:

(4 comments)

http://gerrit.cloudera.org:8080/#/c/4390/5/be/src/codegen/gen_ir_descriptions.py
File be/src/codegen/gen_ir_descriptions.py:

Line 48:   ["AGG_NODE_GET_FN_CTX", "GetAggFnCtx"],
> don't these need to include the class name to disambiguate? like Line 57.
Not really. Even with the class name, the function name is still a substring of 
the spillable counterpart's name. The differentiation here is the use of short 
form "Ctx" instead of "Context".


http://gerrit.cloudera.org:8080/#/c/4390/4/be/src/exec/aggregation-node.cc
File be/src/exec/aggregation-node.cc:

Line 90:       // operators with no ExprContext (e.g. count(*)). In cases 
above, 'agg_expr_ctxs_'
> How about adding the TODO to the codgen code that is making this assumption
Done


http://gerrit.cloudera.org:8080/#/c/4390/5/be/src/exec/aggregation-node.h
File be/src/exec/aggregation-node.h:

PS5, Line 81: Used in the codegen'ed version of UpdateTuple()
> so these are pulled out to make it easier for the codegen code to find this
It would be slightly faster to avoid double-dereferencing (i.e. 
aggregate_evaluators_[i]->input_expr_ctxs()[0]). This means one load 
instruction per AggFnEvaluator instead of two load instructions.


http://gerrit.cloudera.org:8080/#/c/4390/5/be/src/exec/partitioned-aggregation-node.h
File be/src/exec/partitioned-aggregation-node.h:

Line 206:   std::vector<ExprContext*> agg_expr_ctxs_;
> same question. why not just make the accessor get it from aggregate_evaluat
Please see the reply elsewhere.


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I42039eed803a39fa716b9ed647510b6440974ae5
Gerrit-PatchSet: 5
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-Owner: Michael Ho <k...@cloudera.com>
Gerrit-Reviewer: Dan Hecht <dhe...@cloudera.com>
Gerrit-Reviewer: Michael Ho <k...@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com>
Gerrit-HasComments: Yes

Reply via email to