Rust Ecosystem
Rust serialization is dominated by the serde data model: libraries implement Serialize/Deserialize once, then plug in format backends.
Benchmark harness
- Directory:
rust/(repository root) - Output:
logs/rust/benchmark-log.csv(Language=rust, times in nanoseconds) - Runner:
rust/scripts/run-benchmarks.sh {smoke|all-single|full|research}
Design choices
- Prepare outside the loop — fixtures built once with seed
42. - Optimal APIs —
to_vec/from_slicestyle; no pretty-print; named MessagePack maps viato_vec_named. - Dual mode —
bytesandstream(stream currently uses the same buffer path; extend withWrite/Readadapters per crate for stricter stream realism). - ObjectGraph — skipped (most serde formats do not support cycles without extensions).