mapleFU commented on PR #43066:
URL: https://github.com/apache/arrow/pull/43066#issuecomment-2207910121
@joellubi For arrow C++ usecase, encode is implemented like this patch now,
decode, however is implemented by batch:
```c++
int DecodeRaw(uint8_t* out_buffer, int max_values) {
const int values_to_decode = std::min(num_values_, max_values);
::arrow::util::internal::ByteStreamSplitDecode(data_, byte_width_,
values_to_decode,
stride_, out_buffer);
data_ += values_to_decode;
num_values_ -= values_to_decode;
len_ -= byte_width_ * values_to_decode;
return values_to_decode;
}
```
Personally I think we can first do like this.
I'm not so familiar with the performance about Go impl part, maybe matt can
give better advice
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]