[ 
https://issues.apache.org/jira/browse/ARROW-801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15963281#comment-15963281
 ] 

Julien Le Dem commented on ARROW-801:
-------------------------------------

Sounds good.
Rather than adding them at the FieldVector level, it sounds like they should be 
on the vectors that support them. We can have base classes or interfaces for 
FixWidthVector, VariableWidthVector, ...
And then we define what each supports.

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