プログラミング
Homebrewの100倍高速*な代替ソフトウェア
A 100x faster* alternative to homebrew (github.com)
要約
zerobrewは、macOSおよびLinux向けの新しいパッケージマネージャーで、Homebrewと比較して大幅な高速化を実現します。特にキャッシュが効いた状態(ウォーム状態)でのパフォーマンスが向上しており、一部のパッケージでは100倍以上の速度差が見られます。uvライブラリのアーキテクチャを採用し、開発者のパッケージ管理体験を向上させることを目指しています。
全文翻訳
zerobrew English · 中文
zerobrewは、macOSおよびLinux上のHomebrewパッケージにuvスタイルのアーキテクチャをもたらします。
インストール
curl -fsSL https://zerobrew.rs/install | bash
インストーラーはシェル設定を更新します。完了後、ターミナルを再起動するか、表示されるsourceコマンドを実行してください。
またはHomebrew経由で:
brew install zerobrewhq/zerobrew/zerobrew
zerobrewのアップデート
スタンドアロンインストーラーを使用した場合は、再度実行してください:
curl -fsSL https://zerobrew.rs/install | bash
zb --version
Homebrewでインストールした場合:
brew update && brew upgrade zerobrew
古いlucasgelfond/zerobrew tapからインストールした場合、それはもう更新されていません。新しいものに切り替えてください:
brew uninstall zerobrew
brew untap lucasgelfond/zerobrew
brew install zerobrewhq/zerobrew/zerobrew
クイックスタート
zb install jq # パッケージを1つインストール
zb install wget git # 複数のパッケージをインストール
zb bundle # Brewfileからインストール
zb bundle install -f myfile # カスタムファイルからインストール
zb bundle dump # インストール済みパッケージをBrewfileにエクスポート
zb bundle dump -f out --force # カスタムファイルにダンプ(上書き)
zb uninstall jq # パッケージを1つアンインストール
zb outdated # 新しいバージョンがあるパッケージを一覧表示
zb upgrade # すべてのアウトデートしたパッケージをアップグレード
zb upgrade jq wget # 特定のパッケージをアップグレード
zb reset # すべてアンインストール
zb gc # 使用されていないストアのエントリをガベージコレクション
zbx jq --version # リンクせずに実行
パフォーマンススナップショット
パッケージ Homebrew (コールド) ZB (コールド) コールドスピードアップ Homebrew (ウォーム) ZB (ウォーム) ウォームスピードアップ
全体 (100パッケージ) 776秒 117秒 6.6倍 638秒 9.3秒 68倍
python@3.14 16.99秒 1.97秒 8.6倍 14.37秒 207ミリ秒 69.4倍
node 29.31秒 3.16秒 9.3倍 28.24秒 232ミリ秒 121.7倍
tesseract 34.63秒 2.16秒 16.0倍 32.37秒 476ミリ秒 68.0倍
openjdk 32.09秒 5.17秒 6.2倍 26.86秒 448ミリ秒 60.0倍
llvm 18.22秒 9.14秒 2.0倍 9.66秒 183ミリ秒 52.8倍
2026-10-08にzerobrew 0.3.5 (開発リリース) およびHomebrew 7.0.8、macOS 26.6.2、MacBook Pro (M3 Pro, 18 GB RAM)、約318 Mbit/sのダウンロード帯域幅で測定されました。Homebrewは何もインストールされていない状態から開始しました。
コールド: パッケージとそのすべての依存関係がアンインストールされ、ダウンロードキャッシュが空の状態。
ウォーム: パッケージとそのすべての依存関係がアンインストールされ、コールド実行からのダウンロードがキャッシュされている状態。
中央値のパッケージは、コールドで5.3倍、ウォームで56倍高速でした。パッケージあたりでは、コールドは1.6倍 (go) から20倍 (ca-certificates)、ウォームは18倍 (go) から252倍 (ca-certificates) の範囲でした。100パッケージのうち24パッケージは、ウォーム状態で100倍以上高速にインストールされ、これがキャッチフレーズの星印(*)が指すところです。
コールドインストールはリンクによって制限されます。約69 Mbit/sの接続での同じ実行 (results/2026-10-07) では、コールドで3.3倍、ウォームで69倍でした。goやllvmのような大きなボトルは、コールド時間のほとんどをダウンロードに費やすため、両ツールともそこで近い値になります。
完全な結果
パッケージ Homebrew (コールド) ZB (コールド) コールドスピードアップ Homebrew (ウォーム) ZB (ウォーム) ウォームスピードアップ
全体 (100パッケージ) 775.60秒 117.43秒 6.60倍 637.50秒 9.33秒 68.31倍
ca-certificates 7.65秒 376ミリ秒 20.35倍 6.55秒 26ミリ秒 252.12倍
openssl@3 11.02秒 1.30秒 8.46倍 9.18秒 64ミリ秒 143.47倍
...
再現するには、何もHomebrewにインストールされていないマシンで bench --full results/ を実行してください。これはzerobrewをリセットし、Homebrewにインストールされたすべてをアンインストールし、results/benchmark.mdにテーブルを書き込みます。
CIではより小さなバージョンが実行されます。parityワークフローは、同じランナー上で両方のツールに固定されたフォーミュラのセットをインストールし、結果のプレフィックスをバイト単位で比較します。また、timingワークフローは、これらのフォーミュラに加えてnodeとpython@3.14を、コールドとウォームの両方で、両方のツールと最後のzerobrewリリースでタイミングを取ります。
ナイトリータイミング実行は、zerobrewがコールドでHomebrewより1.5倍未満、またはウォームで3倍未満の場合、あるいは全体で最後のリリースより20%以上遅い場合に失敗します。
どのように達成しているかについての注記