[ https://issues.apache.org/jira/browse/SPARK-38836?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17519741#comment-17519741 ]
Apache Spark commented on SPARK-38836: -------------------------------------- User 'minyyy' has created a pull request for this issue: https://github.com/apache/spark/pull/36121 > Increase the performance of ExpressionSet > ----------------------------------------- > > Key: SPARK-38836 > URL: https://issues.apache.org/jira/browse/SPARK-38836 > Project: Spark > Issue Type: Improvement > Components: Optimizer > Affects Versions: 3.2.1 > Reporter: Min Yang > Priority: Minor > > Since the constructor of `ExpressionSet` is protected, callers can only > modify the state of an `ExpressionSet` by calling `add` and `remove`, so it > maintains the invariants of: > # Every expr `e` in `baseSet` satisfies `e.deterministic && e.canonicalized > == e` > # Every deterministic expr `e` in `originals` satisfies that > `e.canonicalized` is already accessed. > The current implementation ignores the invariant and unnecessarily calls > `.canonicalized` in lots of places which can cause performance issues as > `canonicalized` is a pretty expensive operation. -- This message was sent by Atlassian Jira (v8.20.1#820001) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org