[ 
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

Reply via email to