Qifan Chen has uploaded a new patch set (#23). ( 
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 priority queue implementation.
In this way, call-cite replacement of calls to a more efficient
version of tuple comparator becomes possible. The tuple comparator is
optimized by removing the condition test on whether the code-gen
version is ready or not.

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 (2880404
   rows) and saw 16% and 24% top-100 performance improvement on integer
   and decimal columns respectively. The test queries are as follows.

    -- SQL integer column version
    select ss_sold_time_sk, ss_item_sk, ss_customer_sk
    from tpcds.store_sales
    order by ss_sold_time_sk, ss_item_sk
    limit 100;

    -- SQL decimal column version
    select ss_ext_wholesale_cost, ss_ext_list_price, ss_ext_tax
    from tpcds.store_sales
    order by ss_ext_wholesale_cost, ss_ext_list_price
    limit 100;

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/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
8 files changed, 414 insertions(+), 92 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/73/16373/23
--
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: 23
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]>

Reply via email to