You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2018/04/03 20:26:00 UTC

[jira] [Commented] (ARROW-1463) [JAVA] Restructure ValueVector hierarchy to minimize compile-time generated code

    [ https://issues.apache.org/jira/browse/ARROW-1463?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16424547#comment-16424547 ] 

ASF GitHub Bot commented on ARROW-1463:
---------------------------------------

BryanCutler opened a new pull request #1831: ARROW-1463: [Java] Cleanup usage of Types.MinorType to MinorType
URL: https://github.com/apache/arrow/pull/1831
 
 
   Cleanup usage specifying Types.MinorType to just MinorType in vector classes and tests, and removed unused imports.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


> [JAVA] Restructure ValueVector hierarchy to minimize compile-time generated code
> --------------------------------------------------------------------------------
>
>                 Key: ARROW-1463
>                 URL: https://issues.apache.org/jira/browse/ARROW-1463
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: Java - Memory, Java - Vectors
>            Reporter: Jacques Nadeau
>            Assignee: Siddharth Teotia
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 0.9.0
>
>
> The templates used in the java package are very high mainteance and the if conditions are hard to track. As started in the discussion here: https://github.com/apache/arrow/pull/1012, I'd like to propose that we modify the structure of the internal value vectors and code generation dynamics.
> Create new abstract base vectors:
> BaseFixedVector
> BaseVariableVector
> BaseNullableVector
> For each of these, implement all the basic functionality of a vector without using templating.
> Evaluate whether to use code generation to generate specific specializations of this functionality for each type where needed for performance purposes (probably constrained to mutator and accessor set/get methods). Giant and complex if conditions in the templates are actually worse from my perspective than a small amount of hand written duplicated code since templates are much harder to work with. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)