[ https://issues.apache.org/jira/browse/ARROW-1463?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Siddharth Teotia updated ARROW-1463: ------------------------------------ Component/s: Java - Vectors Java - Memory > [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)