You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2020/09/12 05:05:00 UTC
[jira] [Commented] (IMPALA-4065) Inline comparator calls into
TopN::InsertBatch()
[ https://issues.apache.org/jira/browse/IMPALA-4065?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17194613#comment-17194613 ]
ASF subversion and git services commented on IMPALA-4065:
---------------------------------------------------------
Commit 4bb7190549254c98eb675f3aa044085ca90084d0 in impala's branch refs/heads/master from Qifan Chen
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=4bb7190 ]
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-site 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
Reviewed-on: http://gerrit.cloudera.org:8080/16373
Reviewed-by: Impala Public Jenkins <im...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>
> Inline comparator calls into TopN::InsertBatch()
> ------------------------------------------------
>
> Key: IMPALA-4065
> URL: https://issues.apache.org/jira/browse/IMPALA-4065
> Project: IMPALA
> Issue Type: Improvement
> Components: Backend
> Affects Versions: Impala 2.7.0
> Reporter: Tim Armstrong
> Assignee: Qifan Chen
> Priority: Minor
> Labels: codegen, ramp-up
> Attachments: 0001-WIP-IMPALA-3816-IMPALA-4065-full-TupleRowComparator-.patch
>
>
> This is the more interesting follow-on from IMPALA-3815. We should inline the Compare() calls in the codegen'd TopN code to avoid the indirect function pointer call.
> The tricky aspect is that the Compare() calls are called from std::priority_queue, and we don't have a way to force-inline those functions at the moment.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org