Yicong-Huang opened a new pull request, #56794:
URL: https://github.com/apache/spark/pull/56794

   ### What changes were proposed in this pull request?
   
   Add ASV microbenchmarks for the 
`SQL_TRANSFORM_WITH_STATE_PANDAS_INIT_STATE_UDF` eval type in 
`python/benchmarks/bench_eval_type.py`, with both `time_*` and `peakmem_*` 
variants over the same scenario grid as the plain 
`SQL_TRANSFORM_WITH_STATE_PANDAS_UDF` benchmark plus a small seeded 
initial-state dataset per group. The benchmark reconstructs the worker wire 
protocol for `transformWithStateInPandas` with initial state: a single Arrow 
stream whose top-level schema is `struct<inputData, initState>` (matching 
`TransformWithStateInPySparkPythonInitialStateRunner`), emitting all 
initial-state batches first then all data batches (the JVM `initData ++ data` 
ordering), with the inactive side of each batch written as an all-null struct 
so `TransformWithStateInPandasInitStateSerializer` never sees a mixed batch and 
regroups rows by the leading key.
   
   ### Why are the changes needed?
   
   This is the last transformWithState Pandas eval type without benchmark 
coverage. The eval type is slated for the serializer/eval-type refactor, and a 
microbenchmark establishes the baseline needed to prove the refactor introduces 
no regression.
   
   ### Does this PR introduce _any_ user-facing change?
   
   No.
   
   ### How was this patch tested?
   
   Existing tests. Test-only addition; no behavior change. Benchmark numbers 
from `asv run -a repeat=3` will be added to this description.
   
   ### Was this patch authored or co-authored using generative AI tooling?
   
   No.
   


-- 
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]

Reply via email to