Qifan Chen has uploaded a new patch set (#24). (
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/24
--
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: 24
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]>