Tim Armstrong has posted comments on this change.

Change subject: IMPALA-4231: fix codegen time regression
......................................................................


Patch Set 1:

(4 comments)

http://gerrit.cloudera.org:8080/#/c/4623/1//COMMIT_MSG
Commit Message:

PS1, Line 26: y, which is fixed by this
            : patch.
> Does it recover all the performance ?
Locally it looked like it got back all of the codegen time plus some more. I've 
had trouble getting a full cluster run completed, but it looks like it got 
TPC-H Q2 back to the 4.5 second range.


http://gerrit.cloudera.org:8080/#/c/4623/1/be/src/exec/partitioned-hash-join-builder-ir.cc
File be/src/exec/partitioned-hash-join-builder-ir.cc:

PS1, Line 32: inline bool PhjBuilder::AppendRow(
> I thought the destructor is inlined so it only calls FreeMessage() which is
The codegen time was higher. Otherwise the runtime didn't seem to be noticeably 
higher. Looking at the IR the Statuses added 5-10 additional basic blocks to 
the Process*Batch functions that were already pretty huge. Basically every 
local Status variable or return of a Status variable was adding calls to the 
Copy/FreeMsg function that weren't optimised out.

I posted the IR diff as patchsets 1 and 2 here.


http://gerrit.cloudera.org:8080/#/c/4623/1/be/src/runtime/raw-value.inline.h
File be/src/runtime/raw-value.inline.h:

PS1, Line 215: 
> this may need to be inlined again eventually for loop unrolling to work.
I agree, I think we should move it to the -ir.cc file once we're able to 
propagate constants into it. It doesn't make sense to burn cycles recompiling 
the whole interpreted function all the time. It will be cheaper to optimise the 
specialised version without the big switch.


http://gerrit.cloudera.org:8080/#/c/4623/1/be/src/util/bloom-filter.h
File be/src/util/bloom-filter.h:

PS1, Line 176: inline void IR_ALWAYS_INLINE
> void ALWAYS_INLINE
Done


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

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

Reply via email to