How fast is each backend?
These are the figures in the repository's doc/BENCHMARKS.md, recorded on 28 May 2026 for vrd 0.0.12 with cargo bench --features simd,pcg,quasirandom --bench benchmark: the Criterion median, through the Random type, lower is better.
| Operation | Backend or path | Time |
|---|---|---|
rand() (u32) | Xoshiro256++ | 3.09 ns |
| MT19937 | 3.12 ns | |
| PCG32 | 2.72 ns | |
| PCG64 | 4.26 ns | |
u64() | Xoshiro256++ | 3.10 ns |
| MT19937 | 4.68 ns | |
| PCG32 | 3.72 ns | |
| PCG64 | 4.21 ns | |
normal(0, 1) | Ziggurat | 3.71 ns |
try_fill_bytes, 1 KiB | scalar | 138 ns |
simd | 63.3 ns | |
try_fill_bytes, 16 KiB | scalar | 2,188 ns |
simd | 736 ns | |
split() | Xoshiro256++ | 326 ns |
| Halton point, 2 dimensions | 20.7 ns | |
| Sobol point, 2 dimensions | 1.07 ns |
What machine was that?
The repository records an Apple Silicon (M-series) machine running macOS 25.5 with stable Rust, in the release profile (opt-level = 3, lto = true, codegen-units = 1). It does not name the exact chip. Numbers on another machine will differ; compare runs made on the same one.
What about statistical quality?
The repository has a harness that pipes each backend's output into the PractRand test suite (cargo run --release --example crush --features crush), but no results are recorded yet, and CI does not run it. Xoshiro256++, MT19937, PCG and ChaCha20 are published algorithms; vrd has not published its own test results for them.
How do I reproduce them?
From a clone of the repository:
The same suite also times fastrand and rand::rng() on the same machine.