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/07/23 15:46: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=17163708#comment-17163708 ] 

ASF subversion and git services commented on IMPALA-4065:
---------------------------------------------------------

Commit d3115a561d257ffba84e61664312b7150b8c888c in impala's branch refs/heads/master from Tim Armstrong
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=d3115a5 ]

IMPALA-9979: part 1: factor out Top-N heap.

This extracts the implementation of the actual
priority queue from the rest of TopNNode's state,
so that we can, in the next patch, have multiple
heaps per node.

The codegen'd InsertBatch() function is unfortunately
a little sensitive to minor changes in code, because
of the weird way that it does an indirect call via
TupleRowComparator - see IMPALA-4065. I had to
tweak the code a little to find a variant that performed
similarly to the previous version - other variants had
small regressions.

Perf:
Single node TPC-H showed no perf change.

The time for the TOP-N node in this targeted query was
within the margin of error:

use tpch30_parquet;
set mt_dop=1;
select l_extendedprice from lineitem
order by 1 limit 100

Change-Id: I1f585216b547af7a470e02f75458b1901dc44a31
Reviewed-on: http://gerrit.cloudera.org:8080/16223
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