hey Micah,

On Mon, Aug 1, 2016 at 11:02 AM, Micah Kornfield <emkornfi...@gmail.com> wrote:
> Hi Wes,
> The point I was trying to argue from an earlier thread is that the most
> common cases for relocation are:
> 1.  Little endian machine to little endian machine (most likely same
> machine)
> 2.  big endian machine to big endian machine (most likely same machine)
> 3.  big endian machine to little endian machine or vice versa
>
> The purpose of the metadata would be to make use-cases 1 and 2 possible
> without byte-swapping.  Use case 3 would obviously require byte swapping
> but for an initial implementation the code could simply indicate that it is
> not supported.
>
> This seems less complex to me than actually implementing any sort of
> byte-swapping logic while still supporting the widest variety of hardware
> with the same code for the most common use-cases.

This makes sense. My comments were for the situation that a big endian
system would be exposing memory to an unknown consumer -- for example,
if we implemented an RPC wire format for Arrow memory, then in general
a big endian system would need to send little-endian integers to an
arbitrary receiver. I'm not sure the best way to provide for easy
native-endianness support for cases 1/2, but trying to fully solve
this problem now seems premature until we've established some of these
tools (so long as we haven't painted ourselves into a corner).

- Wes

>
> Thanks,
> Micah
>
> P.S. If anybody can provide pointers I'd be interested to understand which
> pieces of the java code make assumptions about little-endianness.

Reply via email to