Yicong-Huang opened a new pull request, #57118: URL: https://github.com/apache/spark/pull/57118
### What changes were proposed in this pull request? This PR adds ASV benchmarks for end-to-end regular Python UDF execution across Pickle and Arrow paths. The new benchmark covers scalar Spark SQL types, timestamp, common nested types, and a scalar end-to-end workload variant with multiple UDF outputs and light per-row Python work. It also uses row counts from 100K to 6.4M so benchmark runs can show scaling behavior across input sizes. ### Why are the changes needed? Existing Arrow conversion benchmarks isolate lower-level conversion costs, but they do not show full regular Python UDF query cost across input generation, Python worker execution, Arrow/Pickle transfer, UDF evaluation, result conversion, and writing to a noop sink. These benchmarks make it easier to compare Arrow-optimized Python UDF behavior against the pickled path for scalar and nested data types. ### Does this PR introduce _any_ user-facing change? No. ### How was this patch tested? - Ran Python formatting and Ruff through the pre-commit hook. - Ran Python compilation for the new benchmark file: ```bash /Users/yicong.huang/Repos/spark/venv/bin/python -m py_compile python/benchmarks/bench_arrow_python_udf_types.py ``` - Ran a smoke test that imported the benchmark and executed small Arrow UDF scalar and nested cases locally with 1,000 rows. ### Was this patch authored or co-authored using generative AI tooling? Generated-by: OpenAI Codex -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
