# E4 — LATENCY DISTRIBUTION · fal-ai/flux/dev

Conditions: steps=28 · guidance=3.5 · seed=1024 · image_size=square(512×512) · N=20 · 3s interval ·
via the localhost:5311 dev proxy (vite middleware → the fal.run synchronous endpoint) · 2026-07-16 05:03–05:04 UTC ·
Timing basis: browser performance.now() (fetch sent / headers arrived / json parsed);
inference_ms is taken from the fal response body's timings.inference; queue_ms = (headers arrived − sent) − inference_ms;
network_ms = json parsed − headers arrived. Data source: runs.csv.

| segment | min | max | mean | p50 | p95 | std |
|---|---|---|---|---|---|---|
| queue_ms | 180 | 1500 | 331.3 | 250.5 | 506.3 | 277 |
| inference_ms | 523 | 558 | 535.5 | 533 | 552.3 | 9.9 |
| network_ms | 0 | 1 | 0.3 | 0 | 1 | 0.5 |
| total_ms | 709 | 2031 | 867.3 | 785.5 | 1031.6 | 275.7 |

The first call measured total_ms=2031 (queue_ms=1500); the remaining 19 calls fall in a 709–979 total_ms range.

## E1 linear fit: steps → inference_ms (N=10, steps ∈ [1, 45], data source raw-calls.json experiment=e1)

- slope = 19.52 ms/step
- intercept = -5.0 ms
- R² = 0.9978

| steps | inference_ms (measured) | fitted |
|---|---|---|
| 1 | 31.9 | 14.5 |
| 2 | 24.5 | 34.1 |
| 4 | 62.4 | 73.1 |
| 8 | 153.8 | 151.2 |
| 12 | 239.4 | 229.3 |
| 16 | 318 | 307.3 |
| 20 | 368.8 | 385.4 |
| 28 | 520.2 | 541.6 |
| 36 | 711.6 | 697.7 |
| 45 | 877 | 873.4 |
