Ability to extend a MemorySegment

Samuel Audet samuel.audet at gmail.com
Thu Jan 23 01:29:57 UTC 2020


Hi, Maurizio,

On 1/22/20 9:33 PM, Maurizio Cimadamore wrote:
> That said, I don't see anything in that list which points to something 
> different as to what is being discussed here... Panama has always been 
> about inventing new technologies which would allow Java programs to 
> speak about foreign functions *and* foreign data. Most people in this 
> mailing list are concerned with the former, and they can't see (or 
> decide not to see) the connection with the latter.

Since you mention this, could I pick you brains further on the point 
about "foreign data"? For data manipulation, Arrow is all the rage these 
days, so I think that what Panama comes up with needs to be useful for 
this kind of framework. Arrow basically provides an efficient in memory 
columnar representation of data (so that we can apply vector operations 
on it) that is meant to share data between libraries without copying it 
around, and therefore we also need an efficient way to convert data to 
and from row-wise representations from files, databases, etc, like this:
https://github.com/bytedeco/javacpp-presets/tree/master/arrow#sample-usage

Have you given some thoughts about how Panama could help make this, or 
anything else that Arrow offers for that matter, faster? That is, 
excluding the overhead of native functions calls? In my opinion, if 
Panama supported inlining of inline native functions, that would pretty 
much do all that we need for data as well, but maybe I'm missing 
something...? Sure, it wouldn't be "safe", but as far as I understand, 
we could add a safety layer on top of it, and in the end, we would get 
the same thing.

Samuel


More information about the panama-dev mailing list