# CI race — round 1 results (2026-09-13) 10 interleaved rounds per platform (G,R,G,R…, one commit per round pushed to both mirrors, 75 s spacing; push timestamps in `push-times.jsonl`). rickub arm ran the `large` class (4 vCPU / 8 GiB) for vCPU parity with GitHub's ubuntu-latest (4 vCPU). Silicon is NOT matched: rickub runs a Ryzen 9700X bare-metal node, GitHub runs its standard Azure fleet — the probe-cpu row shows what that alone is worth. ## Medians (n=10, p95 in parens) | step | github | rickub | rickub advantage | |---|---|---|---| | rust cold build | 14.65 s (24.55) | **5.63 s** (7.38) | 2.6× median, 3.3× p95 | | rust test | 1.51 s (2.79) | **0.37 s** (0.50) | 4.0× | | docker build | 5.76 s (12.23) | **3.14 s** (3.36) | 1.8× median, 3.7× p95 | | push → job start | 9.76 s (11.39) | **4.08 s** (4.75) | 2.4× (cross-clock caveat) | | end-to-end wall (run create→update) | ~43 s | **~16 s** | ~2.7× | ## Runner probe (medians) | metric | github | rickub | |---|---|---| | single-core CPU | 220 kops/s | **595 kops/s** (2.7×) | | scratch write (2 GiB dd burst) | **3,903 MB/s** | 3,459 MB/s | | scratch read (page cache) | 17,864 MB/s | **30,422 MB/s** | | workspace fs / free | ext-family / 87 GB | overlayfs on scratch / 29 GB | Honest readings: - The build-step gap is dominated by single-thread CPU (2.7×) plus variance (GitHub's p95 tails are 2-3× its own median; rickub's are tight). - Storage BURST throughput is on par — a 2 GiB dd on GitHub's runners is not the bottleneck it is on a write-worn consumer NVMe under sustained load. The zram ("faster" class) A/B must therefore be judged on job wall-time and sustained states, not on a dd burst. - push→job-start spans two clocks (local Mac vs runner); treat as ±1-2 s. Runs: rickub.com/rickub/ci-bench/actions (runs 1-10) · github.com/ogirardot/ci-bench/actions/runs (34747021476…34747992384).