GitHub user paul-rogers opened a pull request:

    https://github.com/apache/drill/pull/704

    DRILL-5125: Provide option to use generic code for sv remover

    Performance tests showed that, for queries with a large number of
    columns, it is faster to use a “generic” implementation of the
    selection vector remover “copier” than to use a generated version.
    
    This PR provides "generic" versions of the SV2 and SV4 copiers
    used by the selection vector remover. The generic forms are
    enabled using a new boot-time config parameter that is disabled
    by default (preserving the traditional generated code.)
    
    The generic form relies on a "virtual function" (really, just a
    plain Java function) defined in the base ValueVector class and
    implemented by each concrete vector: both the pre-defined and
    generated forms. This form "does the right thing" for the copy
    operation so that we don't need to generate code just to handle
    the method dispatch operation (which Java does quite well on its
    own.)
    
    A unit tests validates that the generic form works by runing
    the existing SV remover tests with the generic option turned on.
    
    See the DRILL-5125 for details.
    
    Add test

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

    $ git pull https://github.com/paul-rogers/drill DRILL-5125

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

    https://github.com/apache/drill/pull/704.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 #704
    
----
commit ba3a38a403b140149d1605decefae088765ead56
Author: Paul Rogers <prog...@maprtech.com>
Date:   2016-12-12T18:06:43Z

    DRILL-5125: Provide option to use generic code for sv remover
    
    Performance tests showed that, for queries with a large number of
    columns, it is faster to use a “generic” implementation of the
    selection vector remover “copier” than to use a generated version.
    
    This PR provides "generic" versions of the SV2 and SV4 copiers
    used by the selection vector remover. The generic forms are
    enabled using a new boot-time config parameter that is disabled
    by default (preserving the traditional generated code.)
    
    The generic form relies on a "virtual function" (really, just a
    plain Java function) defined in the base ValueVector class and
    implemented by each concrete vector: both the pre-defined and
    generated forms. This form "does the right thing" for the copy
    operation so that we don't need to generate code just to handle
    the method dispatch operation (which Java does quite well on its
    own.)
    
    A unit tests validates that the generic form works by runing
    the existing SV remover tests with the generic option turned on.
    
    See the DRILL-5125 for details.
    
    Add test

----


---
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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to