Qifan Chen has uploaded a new patch set (#16). ( http://gerrit.cloudera.org:8080/16373 )
Change subject: IMPALA-4065 Inline comparator calls into TopN::InsertBatch() ...................................................................... IMPALA-4065 Inline comparator calls into TopN::InsertBatch() This work addresses the current limitation in TopN node by replacing std::priority_queue with an in-house implementation. In this way, it is feasible to inline and call more efficient version of comparator when comparing tuples during the selection of top n values. The in-house version of the priority queue implmentation is inlined and LLVM code-gened. Testing: 1. Added a new test TestBasic in a new test harness priority-queue-test.cc to verify that the priority queue works properly; 2. Ran ad-hoc performance test against tpcds.store_sales on R&D box and saw 7-10% topn performance improvement); 3. Ran Core tests successfully. Change-Id: I676b4c05cf10a6946c05e317b0002c1e29e78aa8 --- M be/src/exec/topn-node-ir.cc M be/src/exec/topn-node.cc M be/src/exec/topn-node.h M be/src/util/CMakeLists.txt A be/src/util/comparator.h A be/src/util/priority-queue-test.cc A be/src/util/priority-queue.h M be/src/util/tuple-row-compare.cc M be/src/util/tuple-row-compare.h 9 files changed, 369 insertions(+), 68 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/73/16373/16 -- To view, visit http://gerrit.cloudera.org:8080/16373 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I676b4c05cf10a6946c05e317b0002c1e29e78aa8 Gerrit-Change-Number: 16373 Gerrit-PatchSet: 16 Gerrit-Owner: Qifan Chen <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]> Gerrit-Reviewer: Qifan Chen <[email protected]> Gerrit-Reviewer: Sahil Takiar <[email protected]> Gerrit-Reviewer: Tim Armstrong <[email protected]>
