[
https://issues.apache.org/jira/browse/ARROW-801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15964572#comment-15964572
]
Julien Le Dem commented on ARROW-801:
-------------------------------------
We'd need to cast only if the types are not declared properly.
java.lang.Iterator is pretty old. Guava and Scala for example clearly separate
mutable and immutable collection without needing to cast.
[Fix|Variable]WidthVector can be subclasses of FieldVector. I think we should
try before declaring it's too much work.
> [JAVA] Provide direct access to underlying buffer memory addresses in
> consistent way without generating garbage or large amount indirections
> --------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: ARROW-801
> URL: https://issues.apache.org/jira/browse/ARROW-801
> Project: Apache Arrow
> Issue Type: Bug
> Components: Java - Vectors
> Reporter: Jacques Nadeau
>
> When working with Arrow vectors recently, we observed a situation where our
> time was dominated by calls to getFieldBuffers() to be able to retrieve
> memory addresses (22s out of 26s total for a piece of code). We should
> provide a direct mechanism to access this data so we can avoid all the extra
> indirection and object creation.
> A proposal:
> getBitAddress();
> getDataAddress();
> getOffsetAddress();
> These interfaces would be made available at the FieldVector interface and
> simply throw UnsupportedOperationException where not supported.
> Unsupported Operations:
> data for list type
> offset for fixed width types
> data and offset for struct type
> data for union type
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)