[ 
https://issues.apache.org/jira/browse/ARROW-17608?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kyle Barron updated ARROW-17608:
--------------------------------
    Description: 
I've recently been working on an implementation of the C Data Interface for 
Arrow JS, the idea being that Arrow JS can read memory from WebAssembly this 
way without a copy ([blog 
post|https://observablehq.com/@kylebarron/zero-copy-apache-arrow-with-webassembly],
 [repo|https://github.com/kylebarron/arrow-js-ffi]). Dominik 
[suggested|https://twitter.com/domoritz/status/1562670919469842432?s=20&t=Ts8HQe_fzgRmecUP1Qrhrw]
 starting a discussion about potentially adding this into Arrow JS.

My implementation is still WIP but figure it's not too early to start a 
discussion. A couple notes:

- I'm focused only on reading FFI memory, so I only have parsing code. I figure 
writing doesn't really make sense in JS since Wasm can't access arbitrary JS 
memory
- In order to generate FFI memory in the tests, I'm using a small Rust module 
to convert from an IPC table. If we didn't want to add a rust build step in the 
tests, that module could be published to NPM

Thoughts?

  was:
I've recently been working on an implementation of the C Data Interface for 
Arrow JS, the idea being that Arrow JS can read memory from WebAssembly this 
way without a copy ([blog 
post|https://observablehq.com/@kylebarron/zero-copy-apache-arrow-with-webassembly],
 [repo|https://github.com/kylebarron/arrow-js-ffi/pull/11]). Dominik 
[suggested|https://twitter.com/domoritz/status/1562670919469842432?s=20&t=Ts8HQe_fzgRmecUP1Qrhrw]
 starting a discussion about potentially adding this into Arrow JS.

My implementation is still WIP but figure it's not too early to start a 
discussion. A couple notes:

- I'm focused only on reading FFI memory, so I only have parsing code. I figure 
writing doesn't really make sense in JS since Wasm can't access arbitrary JS 
memory
- In order to generate FFI memory in the tests, I'm using a small Rust module 
to convert from an IPC table. If we didn't want to add a rust build step in the 
tests, that module could be published to NPM

Thoughts?


> [JS] Implement C Data Interface
> -------------------------------
>
>                 Key: ARROW-17608
>                 URL: https://issues.apache.org/jira/browse/ARROW-17608
>             Project: Apache Arrow
>          Issue Type: New Feature
>          Components: JavaScript
>            Reporter: Kyle Barron
>            Priority: Major
>
> I've recently been working on an implementation of the C Data Interface for 
> Arrow JS, the idea being that Arrow JS can read memory from WebAssembly this 
> way without a copy ([blog 
> post|https://observablehq.com/@kylebarron/zero-copy-apache-arrow-with-webassembly],
>  [repo|https://github.com/kylebarron/arrow-js-ffi]). Dominik 
> [suggested|https://twitter.com/domoritz/status/1562670919469842432?s=20&t=Ts8HQe_fzgRmecUP1Qrhrw]
>  starting a discussion about potentially adding this into Arrow JS.
> My implementation is still WIP but figure it's not too early to start a 
> discussion. A couple notes:
> - I'm focused only on reading FFI memory, so I only have parsing code. I 
> figure writing doesn't really make sense in JS since Wasm can't access 
> arbitrary JS memory
> - In order to generate FFI memory in the tests, I'm using a small Rust module 
> to convert from an IPC table. If we didn't want to add a rust build step in 
> the tests, that module could be published to NPM
> Thoughts?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to