Hyukjin Kwon created SPARK-61157:
------------------------------------

             Summary: Column operations capture their call site with a failing 
IPython import on every call, which makes them slow without ipykernel
                 Key: SPARK-61157
                 URL: https://issues.apache.org/jira/browse/SPARK-61157
             Project: Spark
          Issue Type: Bug
          Components: Connect
    Affects Versions: connect-rust-4.3.0
            Reporter: Hyukjin Kwon


Since SPARK-60915, each DataFrame API call of the Python client captures the 
call site in user code through the vendored `_capture_call_site`, and that 
function runs `import IPython` and `import ipykernel` on every call. Where 
ipykernel is not installed, each import scans sys.path again: 90k Column 
operations took 7.3 s instead of 0.32 s with debugging off, and `select` of 
2000 names 5 times took 0.52 s instead of 0.006 s. The call site is now 
captured in Rust with the same result as `_capture_call_site`, and IPython and 
ipykernel are read from sys.modules, with one import attempt per process.




--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to