# Performance tests Milestone 0 perf test instructions are tracked in docs/milestone-0.md. ## Build ``` cmake -S . -B build cmake --build build ``` ## Run Usage: ``` ./build/warppipe_perf --mode create-destroy|registry|links|policy|e2e [options] ``` Options: - `--type` sink|source|both (default `sink`) - `--count` N (default 200; per-type when `--type both`) - `--events` N (registry mode, default 100) - `--links` N (links mode, default 200) - `--batch` N (links mode batch size) - `--rate` N (default 48000) - `--channels` N (default 2) - `--target` (loopback target) Create/destroy microbenchmark (milestone 0/2): ``` ./build/warppipe_perf --mode create-destroy --count 200 --type sink ./build/warppipe_perf --mode create-destroy --count 100 --type both ``` Registry snapshot + add/remove events (milestone 1): ``` ./build/warppipe_perf --mode registry --count 1000 --events 100 ``` Link creation + removal (milestone 3): ``` ./build/warppipe_perf --mode links --links 200 ./build/warppipe_perf --mode links --links 200 --batch 50 ``` Policy auto-routing (milestone 4): ``` ./build/warppipe_perf --mode policy --count 200 ``` End-to-end (milestone 5): ``` ./build/warppipe_perf --mode e2e --count 200 ``` Optional format and loopback: ``` ./build/warppipe_perf --mode create-destroy --count 200 --type sink --rate 48000 --channels 2 ./build/warppipe_perf --mode create-destroy --count 200 --type sink --target "some-node-name" ``` Planned coverage: - Microbenchmark: connect -> create N -> destroy N - Target: subsecond for N=200 on warm PipeWire connection