rickub/ci-benchpublic Fork 0
4a60b11b698c40346344feead7fd7bc7a42195e6
Commits
Clone
git clone https://git.rickub.com/rickub/ci-bench.git
git clone ssh://git@rickub.com/rickub/ci-bench.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

bench results: round 1 — rickub large vs GitHub ubuntu-latest, 10 interleaved rounds 7764675Unverified · on 4a60b11b698c40346344feead7fd7bc7a42195e6 · Olivier Girardot · 5h ago
RESULTS.md · 38 lines · 1.9 KBmarkdown
Blame HistoryOpen raw

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
# 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).