MaxGekk commented on PR #59069: URL: https://github.com/apache/spark/pull/59069#issuecomment-5862911725
Thanks for the review. Agreed on the trade-off, and it's now in the description: at 64 branches the split is 13-21% slower on JDK 17/21/25, where the unsplit method is still under 8000 bytes and C2 stops inlining partway through the chain of `caseWhen_*` calls. I kept the same `methodSplitThreshold` as the path without whole-stage codegen, which makes the same trade. Splitting only near the JIT limit would mean measuring bytecode size before deciding, and I'd rather make that a change of its own. Until then, raising `spark.sql.codegen.methodSplitThreshold` keeps such CASE WHENs in one piece. -- 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]
