Internal Jenkins has submitted this change and it was merged. Change subject: IMPALA-2784: codegen PartitionedHashJoinNode::Partition::BuildHashTable() ......................................................................
IMPALA-2784: codegen PartitionedHashJoinNode::Partition::BuildHashTable() This patch implements codegen for (part of) the BuildHashTable() function by codegening a version of the new InsertBatch() function, which is called by BuildHashTableInternal(). The codegen'd InsertBatch() is based on the cross-compiled original, and replaces EvalBuildRow(), Equals(), and HashCurrentRow() calls. For the following benchmark query: SELECT STRAIGHT_JOIN count(*) FROM tpch_parquet.orders l1 JOIN [broadcast] biglineitem ON l_orderkey = o_orderkey WHERE l_partkey > 0 AND l_suppkey > 0 AND l_linenumber > 0 AND o_orderdate < '19000' AND l_orderkey < 350000000; Hash table build time went from 7.4s to 3.7s (2x faster), and overall query time went from 18.1s to 14.1s (28% faster). This increased codegen time from 212ms to 279ms (30% slower). This patch also changes the BUILD_RUNTIME_FILTERS conditional to be based on an input argument rather than a template parameter. This slightly slows down execution but as the benefit of requiring fewer codegen'd functions. Change-Id: I616f46a861b4909d7a6e66dcf947b3518556768e Reviewed-on: http://gerrit.cloudera.org:8080/2113 Reviewed-by: Marcel Kornacker <mar...@cloudera.com> Tested-by: Internal Jenkins --- M be/src/codegen/gen_ir_descriptions.py M be/src/exec/partitioned-hash-join-node-ir.cc M be/src/exec/partitioned-hash-join-node.cc M be/src/exec/partitioned-hash-join-node.h 4 files changed, 122 insertions(+), 28 deletions(-) Approvals: Marcel Kornacker: Looks good to me, approved Internal Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/2113 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I616f46a861b4909d7a6e66dcf947b3518556768e Gerrit-PatchSet: 9 Gerrit-Project: Impala Gerrit-Branch: cdh5-trunk Gerrit-Owner: Skye Wanderman-Milne <s...@cloudera.com> Gerrit-Reviewer: Internal Jenkins Gerrit-Reviewer: Jim Apple <jbap...@cloudera.com> Gerrit-Reviewer: Marcel Kornacker <mar...@cloudera.com> Gerrit-Reviewer: Mostafa Mokhtar <mmokh...@cloudera.com> Gerrit-Reviewer: Skye Wanderman-Milne <s...@cloudera.com> Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com>