[
https://issues.apache.org/jira/browse/ARROW-1463?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16177237#comment-16177237
]
Laurent Goujon commented on ARROW-1463:
---------------------------------------
There's a Java effort to come up with a vector API to help with vectorization
(as part of the Panama project). May be worth having a look at it.
The latest version (by John Rose) is available at
http://cr.openjdk.java.net/~jrose/arrays/vector/Vector.java
There are also some slides from Intel folks giving some insights about it might
help vectorization inside the JVM:
www.oracle.com/technetwork/java/jvmls2016-graves-3125549.pptx
> [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)