@wesm Brian is right, _most_ of the internal buffers are zero-copy sliced up front in the ArrayData internals. This is mostly a performance optimization/complexity reduction, since it allows us to index into those TypedArrays starting from zero in most cases. Notable exceptions are when the indexing is dependent on other buffers (e.g. we _do_ slice the valueOffsets buffer of a Utf8Vector, but not the data buffer), or when multiple values are packed into < 1 byte like the validity bitmap or BoolVector's data buffer. So we still need to track the logical `offset` internally, but only use it in those special cases.
[ Full content available at: https://github.com/apache/arrow/pull/2638 ] This message was relayed via gitbox.apache.org for [email protected]
