Noemi Pap-Takacs has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/18824


Change subject: IMPALA-11477: Adding Codegen to sorted-run-merger
......................................................................

IMPALA-11477: Adding Codegen to sorted-run-merger

SortedRunMerger is used to merge multiple, already sorted runs.
It is used for external merge in the sorter (SortNode, PartialSortNode
and TopNNode), and in KRPC data stream receiver (ExchangeNode).

SortedRunMerger builds and maintains a min heap of the sorted input runs.
Re-writed SortedRunMerger::Heapify from recursive to iterative
and moved to a separate new source file: sorted-run-merger-ir.cc.
Added a static Codegen() to SortedRunMerger and call it from the
corresponding ExecNodes: SortNode, PartialSortNode, TopNPNode and
ExchangeNode.

This change lets the merger use the codegened version of TupleRowComparator
instead of the interpreted one, which can increase the speed especially
in case of complex comparison expressions. This change also serves as a
base for further codegen-related optimizations in the merger.

Change-Id: Ic35c7460bdbd54b8ec5872a83680e2f41ceae9fd
---
M be/src/codegen/gen_ir_descriptions.py
M be/src/codegen/impala-ir.cc
M be/src/exec/exchange-node.cc
M be/src/exec/exchange-node.h
M be/src/exec/partial-sort-node.cc
M be/src/exec/partial-sort-node.h
M be/src/exec/sort-node.cc
M be/src/exec/sort-node.h
M be/src/exec/topn-node.cc
M be/src/exec/topn-node.h
M be/src/runtime/CMakeLists.txt
M be/src/runtime/krpc-data-stream-recvr.cc
M be/src/runtime/krpc-data-stream-recvr.h
A be/src/runtime/sorted-run-merger-ir.cc
M be/src/runtime/sorted-run-merger.cc
M be/src/runtime/sorted-run-merger.h
M be/src/runtime/sorter.cc
M be/src/runtime/sorter.h
18 files changed, 227 insertions(+), 69 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/24/18824/4
--
To view, visit http://gerrit.cloudera.org:8080/18824
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic35c7460bdbd54b8ec5872a83680e2f41ceae9fd
Gerrit-Change-Number: 18824
Gerrit-PatchSet: 4
Gerrit-Owner: Noemi Pap-Takacs <[email protected]>
Gerrit-Reviewer: Csaba Ringhofer <[email protected]>
Gerrit-Reviewer: Noemi Pap-Takacs <[email protected]>

Reply via email to