Blacksmith 4 vCPU x64 vs Namespace 4x8 x64
Namespace does the Rust build for 1.7× less; the two take about the same time on the Rust build. Both 4 vCPU x64.
Price per minute 1.3× cheaper on Namespace: $0.0060 vs $0.0080the builds are not all compared on cost yet
Rust build 1.7× cheaper on Namespace: $0.0104 vs $0.0175about the same time: 1m 59s · 1m 38s
TypeScript build not yet Blacksmith 54s (5 runs) · Namespace 52s (1 run)
Docker build 5m 19s Blacksmith only · Namespace not run
Blacksmith 4 vCPU
jobs ran from Secured Servers (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 | Blacksmith | Namespace | Gap |
|---|---|---|---|
| Cost | |||
| Cost per Rust build | $0.0175 | $0.0104 | 1.7× Namespace |
| Cost per TypeScript build | $0.0089 | $0.0060 | not yet |
| Cost per Docker build | $0.0464 | 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.0080 | $0.0060 overage rate | 1.3× Namespace |
| Real builds, wall time | |||
| Rust build (spotify-player) | 1m 59s | 1m 38s | ≈ even |
| TypeScript build (opencode) | 54s | 52s | not yet |
| Docker build (PostHog) | 5m 19s | 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,236 | 4,688 | 1.1× Namespace |
| PassMark CPU Mark, all cores (points) | 15,036 | 16,140 | 1.1× Namespace |
| sysbench CPU, 1 thread (events/s) | 6,419 | 7,051 | 1.1× Namespace |
| 7-Zip compression (MIPS) | 27,863 | 33,225 | 1.2× Namespace |
| Memory read bandwidth | 31.5 GiB/s | 45.0 GiB/s | 1.4× Namespace |
| Measurement | Blacksmith | Namespace | Gap |
|---|---|---|---|
| Workspace disk (fio) | |||
| Random read, 4k QD32 (IOPS) | 873,112 | 1,009,155 | 1.2× Namespace |
| Random write, 4k QD32 (IOPS) | 251,762 | 403,484 | 1.6× Namespace |
| Random read, 4k QD1 (IOPS) | 84,854 | 78,033 | 1.1× Blacksmith |
| QD1 read latency, p99 | 14 µs | 12 µs | 1.2× Namespace |
| Sequential read | 6.9 GiB/s | 4.1 GiB/s | 1.7× Blacksmith |
| Sequential write | 1.6 GiB/s | 3.0 GiB/s | 1.8× Namespace |
| Sync write, 4k + fdatasync (IOPS) | 18,024 | 17,941 | ≈ even |
| Network, cache & Docker | |||
| Download from GitHub | 107 MiB/s | 199 MiB/s | 1.9× Namespace |
| Cache restore, 4 GB (actions/cache) | 14s | 24s | 1.7× Blacksmith |
| Cache save, 4 GB (actions/cache) | 8s | 12s | 1.5× Blacksmith |
| docker pull | 6.5s | 4.3s | 1.5× Namespace |
| Database | |||
| pgbench read/write (TPS) | 11,775 | 8,401 | 1.4× Blacksmith |
| pgbench read-only (TPS) | 89,914 | 66,660 | 1.3× Blacksmith |
| Queue | |||
| Queue under burst load | 11s | 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