[ https://issues.apache.org/jira/browse/SPARK-37448?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17447842#comment-17447842 ]
Josh Rosen commented on SPARK-37448: ------------------------------------ I plan to work on this. > Avoid CurrentOrigin.withOrigin calls in tree transformation methods when > partial function isn't defined > ------------------------------------------------------------------------------------------------------- > > Key: SPARK-37448 > URL: https://issues.apache.org/jira/browse/SPARK-37448 > Project: Spark > Issue Type: Improvement > Components: Optimizer > Affects Versions: 3.2.0 > Reporter: Josh Rosen > Assignee: Josh Rosen > Priority: Major > > `CurrentOrigin.withOrigin \{ block }` performs a ThreadLocal.get() call to > retrieve the current value of the `origin` thread local so it can be restored > after `block` exits. > TreeNode has transform methods which apply PartialFunctions to every node in > the tree. By checking `rule.isDefinedAt` before applying a rule we can skip > the `CurrentOrigin.withOrigin` call in cases where we know the partial > function isn't defined. This avoids the performance overhead associated with > thread-local reads and sets. -- 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