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).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
|