Lowest median time
172 s
Vitko Runners (warm starts + test splitting)
GitHub-hosted (ubuntu-latest): 384 s
Slowest median
384 s
GitHub-hosted runners (ubuntu-latest, 2 vCPU)
2.2× the lowest
Lowest cost, managed
$0.0056
Vitko Runners (warm starts + test splitting)
mean per job
Failed runs
0
no failed runs
of 270 measured runs
Median time
Seconds from start to finish · lower is betterTable
Ordered by median time. Self-hosted options are priced all-in at 100,000 jobs a month. Green marks the lowest median time and the lowest cost among the managed runners.| Configuration | Median | p95 | Queue p50 | Queue p95 | Cost | OK |
|---|---|---|---|---|---|---|
| Vitko Runners (warm starts + test splitting) | 172 s | 191 s | 2 s | 19.9 s | $0.0056 | 30 of 30 |
| Blacksmith | 177 s | 291 s | 8 s | 12.6 s | $0.014 | 30 of 30 |
| Vitko Runners | 180 s | 211 s | 2 s | 37.8 s | $0.0058 | 30 of 30 |
| GitHub-hosted larger runner (4 vCPU) | 220 s | 235 s | 3 s | 3.5 s | $0.046 | 30 of 30 |
| Ubicloud | 276 s | 366 s | 16.5 s | 27.1 s | $0.0061 | 30 of 30 |
| Self-hosted runners on Google Cloud | 278 s | 297 s | 2 s | 2 s | $0.016 | 30 of 30 |
| Self-hosted runners on AWS (one VM per job) | 281 s | 342 s | 50.5 s | 78.9 s | $0.012 | 30 of 30 |
| RunsOn | 288 s | 313 s | 18 s | 27.6 s | $0.0039 | 30 of 30 |
| GitHub-hosted runners (ubuntu-latest, 2 vCPU) | 384 s | 401 s | 3 s | 4 s | $0.040 | 30 of 30 |
The job
- Project: vercel/ai at
ai@7.0.126(45e1fbc3ea10d22f852e12b1c1851e289c85e835), licence Apache-2.0. Fetched at run time, not vendored. - Upstream job:
.github/workflows/ci.yml, job Build Examples (next-core). - Benchmark workflow:
.github/workflows/wl-monorepo.yml.
Portability edits (identical for every provider)
- One shard (next-core) of the four.
- Node is set up before pnpm.
- The .turbo/.next build-cache restore is omitted: with the same commit every run it would replay every task. This is the full build a change to shared packages triggers. The pnpm store cache is kept.
suite/monorepo holds the workflow and notes.