You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Kyle Barron (Jira)" <ji...@apache.org> on 2022/09/04 07:38:00 UTC

[jira] [Created] (ARROW-17608) [JS] Implement C Data Interface

Kyle Barron created ARROW-17608:
-----------------------------------

             Summary: [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


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?



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