[
https://issues.apache.org/jira/browse/CALCITE-6907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17938327#comment-17938327
]
Julian Hyde commented on CALCITE-6907:
--------------------------------------
I suggest attacking this as you would any performance problem:
* Create a benchmark that is scalable via a parameter
* Commit the benchmark so that anyone can run it.
* Try making various changes to make the benchmark run faster.
* Try a variety of techniques to find out where the benchmark is REALLY
spending its time (stack sampling, count the number of RelNodes of each type,
the number of rules fired).
* See which parts of the algorithm get slower as you increase the parameter.
* Document your findings and your ideas. Present them to the wider team, and
start a discussion. Solicit ideas for changes (big and small) that might make
the algorithm better. Some ideas will be expensive and disruptive to implement,
so you will need to get buy-in.
> Optimize HepPlanner latency for large plan
> ------------------------------------------
>
> Key: CALCITE-6907
> URL: https://issues.apache.org/jira/browse/CALCITE-6907
> Project: Calcite
> Issue Type: Improvement
> Reporter: Wenzhuang Zhu
> Priority: Major
>
> HepPlanner cannot quickly optimize plan with 10K+ rel nodes.
> We can improve it by:
> 1.HepPlanner support graph reuse for different HepProgram.
> 2.Don't do eager graph gc, e.g. for listener and graph iterator.
> 3.Use large plan friendly graph iterator.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)