[
https://issues.apache.org/jira/browse/SPARK-60136?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Hussein Awala updated SPARK-60136:
----------------------------------
Description:
TreeNode.nodeName currently computes simpleClassName.replaceAll("Exec$", "").
String.replaceAll compiles a regular expression on each invocation, even though
this method repeatedly performs the same suffix operation while producing plan
descriptions.
Avoid repeated regex compilation/allocation while preserving existing node-name
behavior. Validation should cover names with and without the suffix,
non-terminal occurrences, the exact end-anchor behavior, virtual nodeName
overrides, and existing malformed-class-name handling.
A generic microbenchmark can repeatedly obtain node names from small synthetic
TreeNode instances. No SparkSession or data source is needed to isolate the
naming operation.
was:
TreeNode.nodeName currently computes simpleClassName.replaceAll("Exec$", "").
String.replaceAll compiles a regular expression on each invocation, even though
this method repeatedly performs the same suffix operation while producing plan
descriptions.
Avoid repeated regex compilation/allocation while preserving existing node-name
behavior. Validation should cover names with and without the suffix,
non-terminal occurrences, the exact end-anchor behavior, virtual nodeName
overrides, and existing malformed-class-name handling.
A generic microbenchmark can repeatedly obtain node names from small synthetic
TreeNode instances. No SparkSession or data source is needed to isolate the
naming operation.
Generated-by: Pi Coding Agent 1.1.0
> Reduce allocations when computing TreeNode node names
> -----------------------------------------------------
>
> Key: SPARK-60136
> URL: https://issues.apache.org/jira/browse/SPARK-60136
> Project: Spark
> Issue Type: Improvement
> Components: SQL
> Affects Versions: 5.0.0
> Reporter: Hussein Awala
> Priority: Major
>
> TreeNode.nodeName currently computes simpleClassName.replaceAll("Exec$", "").
> String.replaceAll compiles a regular expression on each invocation, even
> though this method repeatedly performs the same suffix operation while
> producing plan descriptions.
> Avoid repeated regex compilation/allocation while preserving existing
> node-name behavior. Validation should cover names with and without the
> suffix, non-terminal occurrences, the exact end-anchor behavior, virtual
> nodeName overrides, and existing malformed-class-name handling.
> A generic microbenchmark can repeatedly obtain node names from small
> synthetic TreeNode instances. No SparkSession or data source is needed to
> isolate the naming operation.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]