GitHub user viirya opened a pull request:

    [SPARK-21717][SQL][WIP] Decouple consume functions of physical operators in 
whole-stage codegen

    ## What changes were proposed in this pull request?
    It has been observed in SPARK-21603 that whole-stage codegen suffers 
performance degradation, if the generated functions are too long to be 
optimized by JIT.
    We basically produce a single function to incorporate generated codes from 
all physical operators in whole-stage. Thus, it is possibly to grow the size of 
generated function over a threshold that we can't have JIT optimization for it 
    This patch is trying to decouple the logic of consuming rows in physical 
operators to avoid a giant function processing rows.
    ## How was this patch tested?
    Existing tests.

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

    $ git pull SPARK-21717

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

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

    This closes #18931
commit 05274e7ad4c74e6241b5a05a9365c475f0c3c0a3
Author: Liang-Chi Hsieh <>
Date:   2017-08-13T06:06:10Z

    Decouple consume functions of physical operators in whole-stage codegen.


If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at or file a JIRA ticket
with INFRA.

To unsubscribe, e-mail:
For additional commands, e-mail:

Reply via email to