[ 
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)

Reply via email to