Initial commit

This commit is contained in:
2026-01-25 15:51:35 +02:00
commit bb0a195e73
11 changed files with 410 additions and 0 deletions

43
docs/experiment-plan.md Normal file
View File

@@ -0,0 +1,43 @@
# Experiment plan
## Independent variables
1. Key exchange group:
- X25519 (baseline)
- X25519MLKEM768 (hybrid PQ)
2. Payload size:
- 1 KB, 10 KB, 100 KB, 1 MB
3. Concurrency:
- 1, 10, 100
4. Build profile:
- release
- optional: `RUSTFLAGS="-C target-cpu=native"`
## Dependent variables (metrics)
- handshake latency (ms)
- TTLB (ms)
- optional: CPU cycles / instructions (perf stat)
- optional: memory (valgrind/massif)
- optional: binary size
## Controls
- same server binary for a given mode
- same client binary for a given mode
- fixed CPU governor (performance) if possible
- fixed network conditions per experiment
- fixed rustls/aws-lc-rs versions
- time sync not required (only client-side monotonic clocks)
## Recommended run matrix
Start small to validate correctness:
- (mode: 2) × (payload: 4) × (concurrency: 2) = 16 cells
Then expand to concurrency=100.
## Statistical reporting
- collect N>=200 iterations per cell (after warmup)
- report: p50, p95, p99, mean, stddev