RunsOn c8a.xlarge · EBS gp3 vs Namespace 4x16 x64
RunsOn does the Rust and TypeScript builds for 3.6–4.7× less; Namespace is 1.3× faster on the Rust and TypeScript builds. Both 4 vCPU x64.
Price per minute 7.6× cheaper on RunsOn: $0.0016 vs $0.0120the builds are not all compared on cost yet
Rust build 4.7× cheaper on RunsOn: $0.0044 vs $0.0208Namespace 1.3× faster: 1m 38s vs 2m 05s
TypeScript build 3.6× cheaper on RunsOn: $0.0030 vs $0.0108Namespace 1.3× faster: 47s vs 1m 03s
Docker build 5m 01s Namespace only · RunsOn not run
RunsOn c8a.xlarge · EBS gp3
jobs ran from Amazon.com (US)
Namespace 4x16
jobs ran from Namespace Labs (US)
Side by side
Every measurement both runners share, cost first. The dot marks the better value; gap is the larger over the smaller.
| Measurement | RunsOn | Namespace | Gap |
|---|---|---|---|
| Cost | |||
| Cost per Rust build | $0.0044 | $0.0208 | 4.7× RunsOn |
| Cost per TypeScript build | $0.0030 | $0.0108 | 3.6× RunsOn |
| Cost per Docker build | n/a: Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | $0.0650 | — |
| Price per minute | $0.0016 | $0.0120 overage rate | 7.6× RunsOn |
| Real builds, wall time | |||
| Rust build (spotify-player) | 2m 05s | 1m 38s | 1.3× Namespace |
| TypeScript build (opencode) | 1m 03s | 47s | 1.3× Namespace |
| Docker build (PostHog) | n/a: Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | 5m 01s | — |
| CPU & memory | |||
| PassMark single-thread (points) | 3,792 | 4,700 | 1.2× Namespace |
| PassMark CPU Mark, all cores (points) | 13,409 | 16,176 | 1.2× Namespace |
| sysbench CPU, 1 thread (events/s) | 5,286 | 7,051 | 1.3× Namespace |
| 7-Zip compression (MIPS) | 32,704 | 33,428 | ≈ even |
| Memory read bandwidth | 36.5 GiB/s | 44.8 GiB/s | 1.2× Namespace |
| Measurement | RunsOn | Namespace | Gap |
|---|---|---|---|
| Workspace disk (fio) | |||
| Random read, 4k QD32 (IOPS) | 2,994 | 1,011,926 | 338.0× Namespace |
| Random write, 4k QD32 (IOPS) | 2,993 | 436,056 | 145.7× Namespace |
| Random read, 4k QD1 (IOPS) | 1,745 | 78,615 | 45.1× Namespace |
| QD1 read latency, p99 | 930 µs | 12 µs | 76.2× Namespace |
| Sequential read | 401 MiB/s | 4.1 GiB/s | 10.6× Namespace |
| Sequential write | 401 MiB/s | 2.9 GiB/s | 7.5× Namespace |
| Sync write, 4k + fdatasync (IOPS) | 540 | 17,844 | 33.0× Namespace |
| Network, cache & Docker | |||
| Download from GitHub | 268 MiB/s | 202 MiB/s | 1.3× RunsOn |
| Cache restore, 4 GB (actions/cache) | 24s | 28s | 1.2× RunsOn |
| Cache save, 4 GB (actions/cache) | 16s | 14s | 1.1× Namespace |
| docker pull | 5.1s | 4.2s | 1.2× Namespace |
| Database | |||
| pgbench read/write (TPS) | 3,085 | 8,463 | 2.7× Namespace |
| pgbench read-only (TPS) | 147,478 | 67,294 | 2.2× RunsOn |
| Queue | |||
| Queue under burst load | 18s | 2m 23s plan limit | — |
- ≈ even: under 5% apart, or a build inside both runners' run-to-run spread
- Queue: identical jobs queued at the same instant (burst suite)
- 2 missing on one side or both
- Queue: not compared. Namespace's burst ran 4 jobs at a time, the concurrency limit of the plan this benchmark account is on
- RunsOn at EC2 spot, its default (7-day average of the cheapest us-east-1 zone's spot price, fetched 5 Oct 2026); the jobs ran on spot
- Cost: a managed SaaS runner against RunsOn self-hosted on your AWS account; the effort of running it was not measured