Blacksmith vs GitHub-Hosted Runners: 速度とコスト
Blacksmith は高クロックの CPU 上でジョブを実行し、シングルスレッドのビルドを高速化します。GitHub-hosted からの速度重視のアップグレードです。
Blacksmith は、シングルスレッドのビルドやテストのステップを高速化することを狙った高周波数 CPU 上の、GitHub Actions 向けドロップインランナーを提供します。GitHub-hosted との比較と、自己修復するマネージドランナーがどこで異なるかを見ていきます。
Published figures, private repository, Linux
| GitHub-hosted | Blacksmith | Latchkey | |
|---|---|---|---|
| 分単価 | プレミアム | より安い | hosted 比 約70%減 |
| セットアップ | 標準搭載 | label の入れ替え | label の入れ替え |
| 速度の重点 | 標準 | 高クロック CPU | ウォームプール、高速 |
| キャッシュ | 基本のみ | 標準搭載 | 標準搭載 (deps + Docker) |
| 不安定な失敗からの回復 | なし | なし | 自己修復による自動リトライ |
| 月あたりの無料minute | Freeで2,000、ProとTeamで3,000、GHECで50,000 | 3,000 | |
| パブリックリポジトリ | 無料かつ無制限、4 vCPU / 16 GB | 通常どおり課金 | |
| jobの起動時間 | 非公表 | 3秒未満 (Firecracker microVM) | |
| 失敗の自動回復 | なし | なし |
Blacksmith の得意なこと
Blacksmith は高速な高周波数 CPU 上でジョブを実行し、GitHub-hosted マシンと比べてシングルスレッドのビルドやテストのステップを大きく高速化できます。
- The one exception is larger runners: GitHub bills those even on public repositories and even when you still have plan quota.
- So the honest rule is that a public repo on standard runners has nothing to gain financially by moving, and something to gain only if wall-clock speed is the pain.
マネージドランナーが上回る点
Latchkey は安価なドロップインランナー (GitHub-hosted 比 約70%減) で、ジョブが待ち行列に入らないウォームプールと、OOM、ディスクフル、registry タイムアウトの失敗を自動リトライする自己修復を備えます。
| Runner | Rate | Cost per 10,000 min | Difference vs GitHub-hosted |
|---|---|---|---|
| GitHub-hosted, 2-core | $0.006/min | $60.00 | baseline |
| Blacksmith, Linux x64 | $0.004/min | $40.00 | -$20.00 |
| Blacksmith, Linux arm64 | $0.0025/min | $25.00 | -$35.00 |
速度と信頼性の両立
コアあたりの生の速度だけが目的なら Blacksmith は魅力的です。最低コストと不安定な失敗からの自動回復も欲しいなら、自己修復するマネージドランナーの方が総合的に優れたフィットです。
- Blacksmith cites a single-thread PassMark score of 4484, which the independent RunsOn benchmark ranks highest among managed GitHub Actions runner providers.
- Jobs boot into an ephemeral Firecracker microVM in under three seconds, so queue-to-start latency is not where the time goes.
- Published workload results: Node.js builds 5.9x, Rust 4x, Docker 3x, and Android 2.3x faster than GitHub-hosted.
- A co-located cache and Docker layer caching sit next to the compute, with sticky disks and static IPs as add-ons.
GitHubホスト型のほうが優れている点
公平な比較には、何を手放すことになるかを明示する必要があります。drop-inでの入れ替えにも代償はあるからです。
- ベンダーがゼロ。追加のGitHub App、2つ目のステータスページ、2つ目の請求書、2つ目のサポート窓口が不要です。
- runnerイメージがリファレンス実装です。サードパーティのプロバイダはそれを追随するため、新しいイメージのリリース直後には挙動が異なり得る期間があります。
- パブリックリポジトリで無料かつ無制限であり、これは有料プロバイダには真似できません。
- GitHubホスト型は、あらゆるaction、marketplaceのステップ、Stack Overflowの回答が前提にしている環境です。
切り替えと、その撤回
どちらの方向も1行であり、これが実際に試すべき最も強い根拠です。判断を誤ったときのコストはrevertコミット1つです。
jobs:
build:
# GitHub-hosted
runs-on: ubuntu-latest
# Blacksmith
runs-on: blacksmith-4vcpu-ubuntu-2404
# Latchkey
runs-on: latchkey-smallどちらも扱わない失敗モード
Blacksmithは、成功するjobをより早く終わらせることで競います。コードと無関係な理由でjobが失敗したときに起こることは変えません。registryのタイムアウト、インストールされなかったブラウザバイナリ、一時的な依存関係の解決エラー、瞬断したネットワークマウント。GitHubホスト型でもBlacksmithでも同じく、そのjobは失敗し、失敗したminuteと再実行のminuteの両方が課金され、pipelineは人が気づいてクリックするのを待ちます。
- 2倍速いrunnerでも失敗の頻度は下がりません。同じ頻度で、ただ早く失敗します。
- 高くつくのはminuteであることは稀です。02:00の失敗と、それを09:00に見るエンジニアとの間の数時間です。
Decide with your own repository
- Both tools in a mature category can do the job. What differs is behaviour on your codebase, which takes an afternoon to measure and beats any feature table.
- Benchmark the cold path with no cache. Warm local runs favour whatever you already have cached, which is the one condition CI never has.
- Price the switching cost honestly: lockfile or config format, stricter resolution surfacing latent bugs, and every developer plus every runner having to move together.
The verdict
シングルスレッドの速度が最優先なら Blacksmith は強力な選択肢です。低コストに加えて自己修復の信頼性とウォームプールのピックアップが欲しいなら、Latchkey も並べて評価してください。無料で始められます。
よくある質問
BlacksmithはGitHub Actionsより安いですか?
BlacksmithはGitHubホスト型よりどれだけ速いですか?
GitHubホスト型runnerの実際のハードウェアは?
Blacksmithを使うにはworkflowを書き直す必要がありますか?
runs-on labelの変更だけです。ステップ、action、シークレット、matrixはそのままです。撤回も同じ1行の変更なので、1つのjobで2週間試すことが実測値を得る低リスクな方法になります。