Profiling
This guide documents the Rust-core profiling workflow around the production deterministic kernels. It describes the measured baseline, the JSON artifact contract, and the criteria for deciding when SIMD or accelerator work deserves a follow-on track.
Baseline scaffold
Section titled “Baseline scaffold”The production benchmark scaffold lives in rust/crates/voiage-numerics/benches/:
foundational.rs— deterministic EVPI, ENBS, dominance, and CEAF workloads
Run it locally with:
cargo bench --manifest-path rust/Cargo.toml --locked -p voiage-numerics --bench foundationalThe benchmark emits stable operation names and nanosecond timings. Workloads are deterministic and results are checked by the kernels; machine-specific timing is recorded as an artifact rather than treated as a portable absolute threshold.
Workflow
Section titled “Workflow”- Run the production numerics benchmark and confirm all kernel results complete successfully.
- Record timing, memory, or throughput measurements in the same artifact family.
- Compare the new artifact against the committed baseline before promoting an optimization claim.
The Rust workspace owns the scalar and stochastic kernels; profiling comparisons must target the Rust crates and their supported bindings.
Promotion criteria
Section titled “Promotion criteria”SIMD, Rayon, and accelerator work should be promoted only when:
- the scalar baseline is stable and reproducible
- the hot path shows a measurable gain
- the change preserves the same result semantics and tolerance policy
- the optimization is an internal execution change, not a new public contract