self-host →

Blacksmith 4 vCPU x64 vs Namespace 4x16 x64

Blacksmith does each build for 1.2–1.4× less; the two take about the same time. Both 4 vCPU x64.

All three builds 1.3× cheaper on Blacksmith: $0.0728 vs $0.0966Namespace 1.1× faster: 7m 26s vs 8m 12s
Rust build 1.2× cheaper on Blacksmith: $0.0175 vs $0.0208about the same time: 1m 59s · 1m 38s
TypeScript build 1.2× cheaper on Blacksmith: $0.0089 vs $0.0108about the same time: 54s · 47s
Docker build 1.4× cheaper on Blacksmith: $0.0464 vs $0.0650about the same time: 5m 19s · 5m 01s

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.0208 1.2× Blacksmith
Cost per TypeScript build $0.0089 $0.0108 1.2× Blacksmith
Cost per Docker build $0.0464 $0.0650 1.4× Blacksmith
Price per minute $0.0080 $0.0120 overage rate 1.5× Blacksmith
Real builds, wall time
Rust build (spotify-⁠player) 1m 59s 1m 38s ≈ even
TypeScript build (opencode) 54s 47s ≈ even
Docker build (PostHog) 5m 19s 5m 01s ≈ even
CPU & memory
PassMark single-⁠thread (points) 4,236 4,700 1.1× Namespace
PassMark CPU Mark, all cores (points) 15,036 16,176 1.1× Namespace
sysbench CPU, 1 thread (events/s) 6,419 7,051 1.1× Namespace
7-⁠Zip compression (MIPS) 27,863 33,428 1.2× Namespace
Memory read bandwidth 31.5 GiB/s 44.8 GiB/s 1.4× Namespace
Measurement Blacksmith Namespace Gap
Workspace disk (fio)
Random read, 4k QD32 (IOPS) 873,112 1,011,926 1.2× Namespace
Random write, 4k QD32 (IOPS) 251,762 436,056 1.7× Namespace
Random read, 4k QD1 (IOPS) 84,854 78,615 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 2.9 GiB/s 1.8× Namespace
Sync write, 4k + fdatasync (IOPS) 18,024 17,844 ≈ even
Network, cache & Docker
Download from GitHub 107 MiB/s 202 MiB/s 1.9× Namespace
Cache restore, 4 GB (actions/cache) 14s 28s 2.0× Blacksmith
Cache save, 4 GB (actions/cache) 8s 14s 1.8× Blacksmith
docker pull 6.5s 4.2s 1.6× Namespace
Database
pgbench read/write (TPS) 11,775 8,463 1.4× Blacksmith
pgbench read-⁠only (TPS) 89,914 67,294 1.3× Blacksmith
Queue
Queue under burst load 11s 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)
  • Queue: not compared. Namespace's burst ran 4 jobs at a time, the concurrency limit of the plan this benchmark account is on

Other head-to-heads