github gbozo/no-sdr v2.11.2-rust
v2.11.2-rust — Rust backend performance pass

pre-release23 minutes ago

Performance release for the Rust backend (serverrs). Wire protocol, REST API and config format are unchanged.

Highlights

  • Runtime SIMD dispatch (AVX2/FMA, AVX-512 where available) for the decimator, FM-stereo FIR and NCO block mixer, with a portable fallback in the same binary.
  • IQ extractor ~2.1x faster (2.4M → 240k): allocation-free in-place NCO/decimator/Butterworth chain and reusable scratch buffers.
  • Decimator 3.4x faster (2.4 MSPS, factor 10, 257 taps: 78.7 → 22.9 µs per 16 KiB chunk).
  • FM stereo ~16% faster, Opus WFM pipeline ~13% faster (reused PLL/FIR/audio/PCM buffers, no stereo clone, no per-sample modulo).
  • IQ correction ~19% faster (fused DC + imbalance pass).
  • New benchmark harness: cd serverrs && cargo run --release --example bench (dependency-free, best-of-5).

Verification

  • RTL2838/R820T, 2.4 MSPS, 8192 FFT @ 8 fps, IQ correction on, WFM + Opus at 100.6 MHz:
    • 1 client: 277 FFT frames and 583 Opus packets over 35 s (34.98 s audio), RDS sync, no client errors.
    • CPU: ~10.2% of one core average (12.3% on the previous HEAD).
    • 4 concurrent clients: 22.95% of one core, all streams real-time.
  • cargo test: 114/114 (default, --no-default-features, and Opus-only builds).
  • -C target-cpu=native measured within noise of the runtime-dispatched generic build; release artifacts remain portable.

Docker

ghcr.io/gbozo/no-sdr:2.11.2-rust — multi-arch (linux/amd64 + linux/arm64), -rust suffix only; latest remains the Go backend.

Don't miss a new no-sdr release

NewReleases is sending notifications on new releases.