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 "Tim Armstrong (Jira)" <ji...@apache.org> on 2020/06/13 00:06:00 UTC

[jira] [Assigned] (IMPALA-3101) AnalyticEvalNode should use codegened TupleRowComparator instead of PrevRowCompare

     [ https://issues.apache.org/jira/browse/IMPALA-3101?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tim Armstrong reassigned IMPALA-3101:
-------------------------------------

    Assignee:     (was: Michael Ho)

> AnalyticEvalNode should use codegened TupleRowComparator instead of PrevRowCompare
> ----------------------------------------------------------------------------------
>
>                 Key: IMPALA-3101
>                 URL: https://issues.apache.org/jira/browse/IMPALA-3101
>             Project: IMPALA
>          Issue Type: Improvement
>          Components: Backend
>    Affects Versions: Impala 2.6.0
>            Reporter: Mostafa Mokhtar
>            Priority: Minor
>              Labels: codegen, performance
>         Attachments: primitive_orderby_bigint_VtuneTopDown.csv
>
>
> AnalyticEvalNode uses PrevRowCompare to compare rows, which is very inefficient compared to the codegend version of TupleRowComparator::Compare
> |Function Stack||CPU Time: Total||CPU Time: Self||Module||Function (Full)||Source File||Start Address|
> |impala::AnalyticEvalNode::ProcessChildBatch|47.9%|0.810s|impalad|impala::AnalyticEvalNode::ProcessChildBatch(impala::RuntimeState*)|analytic-eval-node.cc|0xc0a870|
> |  impala::AnalyticEvalNode::TryAddResultTupleForPrevRow|35.0%|0.570s|impalad|impala::AnalyticEvalNode::TryAddResultTupleForPrevRow(bool, long, impala::TupleRow*)|analytic-eval-node.cc|0xc0aa85|
> |    impala::AnalyticEvalNode::PrevRowCompare|30.3%|0.040s|impalad|impala::AnalyticEvalNode::PrevRowCompare(impala::ExprContext*)|analytic-eval-node.cc|0xc0ae1d|
> |      impala::ExprContext::GetBooleanVal|30.2%|0.330s|impalad|impala::ExprContext::GetBooleanVal(impala::TupleRow*)|expr-context.cc|0x7f0790|
> |        impala::AndPredicate::GetBooleanVal|29.8%|1.220s|impalad|impala::AndPredicate::GetBooleanVal(impala::ExprContext*, impala::TupleRow*)|compound-predicates.cc|0x8575c0|
> |          impala::OrPredicate::GetBooleanVal|28.5%|2.840s|impalad|impala::OrPredicate::GetBooleanVal(impala::ExprContext*, impala::TupleRow*)|compound-predicates.cc|0x857650|
> These queries can be used for repro 
> https://github.com/cloudera/Impala/blob/cdh5-trunk/testdata/workloads/targeted-perf/queries/primitive_orderby_all.test
> https://github.com/cloudera/Impala/blob/cdh5-trunk/testdata/workloads/targeted-perf/queries/primitive_orderby_bigint.test



--
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