[
https://issues.apache.org/jira/browse/ARROW-1463?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16162231#comment-16162231
]
Bryan Cutler commented on ARROW-1463:
-------------------------------------
I just have a couple of questions regarding these changes, apologies if these
have been answered previously
1) Are there any guidelines as far as doing public API breaking changes?
Should things be deprecated or is this something that is a little more open
until Arrow 1.0 is released?
2) How exactly does performance play into the class hierarchies or code gen?
Is it to make sure the data can be vectorized or are there more things to
consider? I just would like to make sure I know what not to do from a
performance standpoint. Is this something that would be described in the
document in ARROW-1471?
> [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
> Reporter: Jacques Nadeau
> Assignee: Siddharth Teotia
>
> 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
(v6.4.14#64029)