Datum
🪼 - Just "Stream" anything :]
Datum is a Rust stream processing library scaffolded around Ractor actors and a push-based stream abstraction. The compatibility target is Akka/Pekko Streams Typed API shape and behavior, with Rust-native ownership, async, and benchmarking constraints.
Install
Add Datum to your project from crates.io:
Or in Cargo.toml:
[]
= "0.3"
Note: The package is published as
datum-core(the namedatumis taken on crates.io), but the import path staysuse datum::…— the crate's library name isdatum.
To track an unreleased commit instead:
[]
= { = "https://github.com/Aethergrids/Datum", = "v0.3.0" }
Upstream References
- Ractor crate:
0.15.13 - Optional Ractor cluster crate:
0.15.13, enabled with--features cluster - Akka source submodule:
third_party/akka, tracking upstreammainand pinned in this repository at commit58f1f6db2e505e87f5dc115ee9476833872e7ae0 - Latest stable Akka tag observed during setup:
v2.10.18
Development
use ;
let sum = from_iter
.map
.filter
.run_with
.unwrap
.wait
.unwrap;
Benchmarks
Datum is benchmarked head-to-head against warmed Akka/Pekko Streams across four areas — Source/Flow, materialization, graph/junctions, and actor ask. Datum wins or ties on most paths; honest per-path numbers (including below-parity rows) are in the result tables under roadmap/benchmarks/. The harness adds a Datum CPU us/op column on purpose: some wins come partly from busy-spinning while Akka parks — a real cost the wall-clock number hides.
Run a comparison (requires a JDK + sbt); each runner writes a rendered table under target/<area>-comparison/:
Current result tables, the per-operator coverage matrix, and apples-to-apples caveats:
roadmap/benchmarks/source-flow.mdroadmap/benchmarks/materialization.mdroadmap/benchmarks/graph.mdroadmap/benchmarks/actor-ask.mdroadmap/M1-v0.1.0-foundation.md— coverage matrix, optimization status & apples-to-apples caveatsroadmap/M2-v0.2.0-akka-streams-parity.md— the forward roadmap (full Akka topic/operator plan)
See roadmap/ for the full milestone roadmap. User documentation is the published VitePress site (Cloudflare Pages); docs/ holds its source. roadmap/ holds internal planning and benchmark records.