Serialization using Abomonation

Open
#436 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
rust
Domain
data

Research direction

Start by reviewing ndarray's owned array types and the existing local experiment described in the issue. Determine the feature-flag boundaries and add tests covering serialization of owned arrays through Abomonation. Done means ndarray users can opt into the integration without separate wrapper types and the tests pass.

Written by the indexing model from the issue text.

Description

enhancement

I am working on a project that uses Timely Dataflow in combination with ndarray. Timely Dataflow uses the Abomonation crate for fast serialization and interprocess communication, which needs the Abomonation trait to be implemented for any type that is sent through a Timely Stream.

Currently I have separate "AbomonatableArray" types that I convert the Array types from ndarray into and back, but needless to say, this is fairly clumsy and involves a good bit of boilerplate in any code that uses Array types and needs them to go through a Stream.

Is implementing Abomonation (probably only for owned arrays) behind a feature flag in ndarray something that would be considered? I may actually be able to do provide a pull request with the necessary changes. I already had things working in an experiment with a local clone of ndarray, but I'd definitely have to go back to that, clean it up a little and add tests first.

Dominant language
Rust
Stars
4.3k
Forks
391
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from rust-ndarray/ndarray

All issues in rust-ndarray/ndarray

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.