Documentation Index
Fetch the complete documentation index at: https://docs.cyberwave.com/llms.txt
Use this file to discover all available pages before exploring further.
cyberwave edge bench micro-benchmarks the Zenoh SDK hot paths on whichever
machine it runs on — header pack, sample decode, stats accounting, sequence
numbering — and compares every metric against a baseline shipped for the
detected device class. It prints a device fingerprint, a results table with
Baseline ops/s / Delta / Status columns, and a PASS/FAIL report card.
When to use it
- Sanity-check a freshly-provisioned edge device (Jetson, Raspberry Pi, mini-PC) against a known-good reference.
- Gate merges in CI on reference hardware: the command exits
2when any metric regresses beyond the threshold. - Validate performance after kernel, Python, NumPy, or Zenoh upgrades.
Run it
jetson-orin-nano, rpi-5, x86-laptop,
apple-silicon-m4, …) from /proc/device-tree/model,
/etc/nv_tegra_release, sysctl -n machdep.cpu.brand_string (macOS), and
platform.machine(). On Apple Silicon the chip generation is parsed from the
brand string and emitted as apple-silicon-m1 … apple-silicon-m4 (Pro / Max
/ Ultra variants share a tier).
Baselines are shipped inside the CLI package, and the loader walks from the
specific slug up to a generic fallback — e.g. apple-silicon-m4 tries
apple-silicon-m4.json → apple-silicon.json → generic-arm64.json, so new
generations degrade gracefully. Use --baseline <path> to override.
Bless a baseline for a new device class
Run the bench on real reference hardware and write a baseline file the CLI will pick up:device_class slug the fingerprint reports —
e.g. apple-silicon-m4.json on an M4 / M4 Pro / M4 Max MacBook. Ship the
file inside the CLI package’s bench_baselines/ directory and flip
"provisional": false once you’re happy with the numbers. On macOS the
--pin flag is a no-op; plug in power, disable Low Power Mode, and close
background apps before blessing to avoid thermal throttling.
Key flags
| Flag | Default | Purpose |
|---|---|---|
--rounds / -n | 100000 | Iterations per timed pass. |
--warmup | 2000 | Un-timed warmup before each benchmark. |
--repeat | 3 | Timed passes; the median is reported. |
--threshold | 0.15 | Regression threshold (fraction). |
--baseline <path> | - | Override the auto-selected baseline. |
--save-baseline <path> | - | Persist this run’s metrics as a baseline. |
--output <path> | - | Persist the full run result (fingerprint + metrics + deltas). |
--pin | false | Pin the bench to CPU 0 (Linux only). |
--no-compare | false | Skip baseline lookup and comparison. |
Exit codes
0— every metric within threshold (or no baseline available).2— one or more metrics regressed beyond--threshold.
Related
Edge Overview
Install and manage Cyberwave Edge Core.
Edge Workers
Run ML workers that consume the same Zenoh data plane this bench measures.