64 lines
1.6 KiB
Markdown
64 lines
1.6 KiB
Markdown
# 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` <node-name> (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
|