8 vCPU
billed per second
- memory
- 32 GB
- local nvme
- 600 GB
- architecture
- x86_64 · aarch64
- cold start
- 0ms
- concurrency
- unlimited
Workspaces under 120 crates. Services, CLIs, libraries.
Select 8 vCPUOne rate per runner size. No seat licence, no build-minute bundles, no charge for the minutes a generic provider spends acquiring a machine.
billed per second
Workspaces under 120 crates. Services, CLIs, libraries.
Select 8 vCPUbilled per second
Default. Sized for a full workspace test run.
Select 16 vCPUbilled per second
Release builds, LTO, multi-target matrices, large monorepos.
Select 32 vCPUThe scheduler, the cache and the schedule API are not add-ons. The only thing that changes between tiers is the machine.
One team, one workspace, the same 2,400 pipeline runs. The rate is not the interesting number; the minutes are.
| line | generic runner | lathe |
|---|---|---|
| Minutes billed per run | 7.8 min | 2.1 min |
| Runs per month | 2,400 | 2,400 |
| Billed minutes per month | 18,720 min | 5,040 min |
| Rate per minute | $0.032 | $0.026 |
| Compute | $599.04 | $131.04 |
| Cache storage, 18.4 GB | $0.00 | $0.37 |
| Monthly total | $599.04 | $131.41−78% |
Assumes the tarski workspace: 297 crates, 16 vCPU, 2,400 runs per month, one full test suite per run. Generic rate is the published US list price for a 16-core Linux runner, billed per minute rounded up. Lathe is billed per second at the 16 vCPU list rate. Committed use is not applied on either side.
Self-hosted runners solve the hardware problem and hand you an operations problem. Generic managed runners solve neither. This is the whole comparison, including the parts that do not favour us.
| Lathe | Generic managed runner | Self-hosted fleet | |
|---|---|---|---|
| Execution | |||
| Cache keyed on rustc fingerprint | yes | lockfile hash | lockfile hash |
| Cache restore path | reflink, same host | network tarball | local disk |
| Codegen-unit scheduling | yes | no | no |
| Linker offload to high-clock tier | yes | no | build it yourself |
| Cold start, p50 | 0ms | 31s | 0ms |
| Operation | |||
| Crate-level build observability | yes | log text | log text |
| Concurrency ceiling | none | plan-capped | your fleet size |
| Runner patching and upkeep | ours | theirs | yours |
| Cache sizing and eviction | managed | manual, 10 GB cap | yours |
| Isolation model | microVM per run | microVM per run | depends |
| Cost | |||
| Billing granularity | per second | per minute, rounded up | per instance-hour |
| Idle capacity paid for | none | none | paid hourly |
| Engineer time to operate | none | none | 0.2–1 FTE |
Self-hosted is the right answer for some teams, and we will say so on a call. If your workspace is small enough that compile time is not the constraint, a generic runner is cheaper and you should keep it.
Dedicated capacity pools, a private cache domain, VPC peering to your registry, an SLA with a number in it, and a named engineer. Priced against your measured minutes, not a seat count.
Public repositories with an OSI-approved licence and no commercial CI budget run on the 16 vCPU tier at no cost. No logo placement asked for, no case study, no expiry.
OSI-approved licence · public repository · no commercial CI budget · reviewed once, not annually
Wall-clock seconds a runner is assigned to your job, from the first step to the last. Acquisition is 0ms and is not billed. Queue time is not billed. A cancelled job stops billing at the cancel, and the cache written up to that point is kept.
The first 2,000 minutes on the 16 vCPU tier are free, once, so the second build — the one worth measuring — costs nothing. After that it is the list rate. Public repositories under the OSS terms are free permanently.
20% off list across every tier for a 12-month term, billed monthly against a minimum. Overage above the commitment is charged at the committed rate, not at list. No penalty for undershooting in a given month.
$0.02 per GB-month, measured as the p50 of daily snapshots. Deduplicated across branches, so a 297-crate workspace with 40 open branches stores roughly one workspace, not forty. Egress is not billed.
No. Linker offload runs on different hardware but bills at the rate of the tier you selected, for the seconds it takes. You are not charged twice for the same second.
Yes. Install the GitHub App, change one line, add a card when the free minutes run out. Sales exists for VPC peering, SLAs and annual invoicing — not as a gate in front of the product.
Point one workflow at a Lathe runner. If the median build does not drop, keep the data and leave.