RunsOn m8azn.xlarge · EBS gp3 vs Namespace 4x8 x64
RunsOn does the Rust build for 1.3× less; Namespace is 1.2× faster on the Rust build. Both 4 vCPU x64.
Price per minute 2.3× cheaper on RunsOn: $0.0026 vs $0.0060the builds are not all compared on cost yet
Rust build 1.3× cheaper on RunsOn: $0.0079 vs $0.0104Namespace 1.2× faster: 1m 38s vs 1m 53s
TypeScript build not yet RunsOn 56s (5 runs) · Namespace 52s (1 run)
Docker build 8m 13s RunsOn only · Namespace not run
RunsOn m8azn.xlarge · EBS gp3
jobs ran from Amazon.com (US)
Namespace 4x8
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.0079 | $0.0104 | 1.3× RunsOn |
| Cost per TypeScript build | $0.0052 | $0.0060 | not yet |
| Cost per Docker build | $0.0332 | n/a: Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | — |
| Price per minute | $0.0026 | $0.0060 overage rate | 2.3× RunsOn |
| Real builds, wall time | |||
| Rust build (spotify-player) | 1m 53s | 1m 38s | 1.2× Namespace |
| TypeScript build (opencode) | 56s | 52s | not yet |
| Docker build (PostHog) | 8m 13s | n/a: Not run: the PostHog Docker build needs more than 8 GB of memory; it ran out of memory on 8 GB runners. | — |
| CPU & memory | |||
| PassMark single-thread (points) | 4,273 | 4,688 | 1.1× Namespace |
| PassMark CPU Mark, all cores (points) | 15,142 | 16,140 | 1.1× Namespace |
| sysbench CPU, 1 thread (events/s) | 6,208 | 7,051 | 1.1× Namespace |
| 7-Zip compression (MIPS) | 30,907 | 33,225 | 1.1× Namespace |
| Memory read bandwidth | 40.9 GiB/s | 45.0 GiB/s | 1.1× Namespace |
| Measurement | RunsOn | Namespace | Gap |
|---|---|---|---|
| Workspace disk (fio) | |||
| Random read, 4k QD32 (IOPS) | 2,994 | 1,009,155 | 337.1× Namespace |
| Random write, 4k QD32 (IOPS) | 2,992 | 403,484 | 134.9× Namespace |
| Random read, 4k QD1 (IOPS) | 1,775 | 78,033 | 44.0× Namespace |
| QD1 read latency, p99 | 963 µs | 12 µs | 77.6× Namespace |
| Sequential read | 401 MiB/s | 4.1 GiB/s | 10.6× Namespace |
| Sequential write | 401 MiB/s | 3.0 GiB/s | 7.6× Namespace |
| Sync write, 4k + fdatasync (IOPS) | 541 | 17,941 | 33.2× Namespace |
| Network, cache & Docker | |||
| Download from GitHub | 308 MiB/s | 199 MiB/s | 1.6× RunsOn |
| Cache restore, 4 GB (actions/cache) | 17s | 24s | 1.4× RunsOn |
| Cache save, 4 GB (actions/cache) | 16s | 12s | 1.3× Namespace |
| docker pull | 5.0s | 4.3s | 1.2× Namespace |
| Database | |||
| pgbench read/write (TPS) | 3,281 | 8,401 | 2.6× Namespace |
| pgbench read-only (TPS) | 166,962 | 66,660 | 2.5× RunsOn |
| Queue | |||
| Queue under burst load | 18s | 1m 20s plan limit | — |
- ≈ even: under 5% apart, or a build inside both runners' run-to-run spread
- not yet: one side has fewer than 3 runs, so the two values are shown but not compared
- Queue: identical jobs queued at the same instant (burst suite)
- 2 shown, not compared yet (under 3 runs on a side)
- 2 missing on one side or both
- Queue: not compared. Namespace's burst ran 8 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