You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Feng Zhu (Jira)" <ji...@apache.org> on 2019/10/30 07:34:00 UTC
[jira] [Comment Edited] (CALCITE-3460) Poor performance in
RexReplacer for large queries
[ https://issues.apache.org/jira/browse/CALCITE-3460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16962782#comment-16962782 ]
Feng Zhu edited comment on CALCITE-3460 at 10/30/19 7:33 AM:
-------------------------------------------------------------
(1)How about to use Map instead of List?
(2)Are the temporary objects produced by recursive call?
It may be difficult to write tests:)
was (Author: donnyzone):
(1)How about to use Map instead of List?
(2)Are the temporary objects produced by recursive call?
It may be difficult to wrting tests:)
> Poor performance in RexReplacer for large queries
> -------------------------------------------------
>
> Key: CALCITE-3460
> URL: https://issues.apache.org/jira/browse/CALCITE-3460
> Project: Calcite
> Issue Type: Improvement
> Components: core
> Reporter: Haisheng Yuan
> Priority: Major
>
> We have queries that have tens of thousands of RexCalls. reducibleExps.indexOf(call) is an O(n) operation, which takes 50% of the running time, causing the query runs for ever until timed out.
> In RexShuttle, ImmutableList iterator creation in {{visitList}} takes another 5~7% of running time, and it is creating millions of temporary iterator object, not only time consuming, but also memory consuming.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)