GitHub user cloud-fan opened a pull request:

    https://github.com/apache/spark/pull/20599

    [SPARK-23407][SQL] add a config to try to inline all mutable states during 
codegen

    ## What changes were proposed in this pull request?
    
    This is a followup of https://github.com/apache/spark/pull/19811 .
    
    In #19811, we picked a sub-optimal solution that always compact 
non-primitive mutable states to arrays, to make primitive mutable states more 
likely to get inlined.
    
    This PR introduces a new config to not treat primitive states specially and 
try to inline all states, to avoid any potential perf regression in Spark 2.3. 
By default it's false.
    
    In the future, we can remove this config, and dynamically decide which 
states to inline. For example, we can use placeholders during codegen, and 
analysis all the mutable states at the end and replace the placeholders.
    
    Note that there are no known regression cases, so this is not a blocker for 
Spark 2.3
    
    ## How was this patch tested?
    
    a new test.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/cloud-fan/spark codegen

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/spark/pull/20599.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #20599
    
----
commit 013c02f215de85d50b4c7125ee571b14801bdb47
Author: Wenchen Fan <wenchen@...>
Date:   2018-02-13T12:23:47Z

    add a config to try to inline all mutable states during codegen

----


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to