stout vs Homebrew: 10-100× faster package management, MIT licensed
stout is a Rust, Homebrew-compatible package manager. It uses a pre-computed SQLite index with FTS5 full-text search, fetches only what it needs, and downloads bottles in parallel — while remaining compatible with Homebrew formulae.
stout is a Rust-backed drop-in for
Homebrew. Same API, faster hot paths.
Install: see docs.
10-100× faster than Homebrew on common operations.
stout vs Homebrew: the facts
10-100× faster than Homebrew on common operations.
Bounded by Ruby startup + linear scans.
Pre-computed SQLite index with FTS5 full-text search.
Live git index; `brew search` is grep on the formulae repo.
Fetches only what it needs.
Updates the full index on every `brew update`.
Parallel bottle downloads.
Sequential by default.
Compatible with Homebrew formulae.
Native Homebrew.
No Ruby runtime.
Requires Ruby (slow to start).
MIT licensed.
BSD-licensed.
Benchmarks
Reproduction instructions in the project README. Numbers measured on AMD Ryzen 9 7950X, 64GB DDR5, NVMe SSD, Python 3.12.
| Metric | stout | Homebrew |
|---|---|---|
| `brew update` (cold) | ~1-2s | ~10-30s |
| `brew search <term>` | ~50ms | ~1-3s |
| `brew install <pkg>` (already in index) | ~2-5s | ~5-20s |
When to use stout
- You use Homebrew and are tired of waiting on `brew update` and `brew search`.
- You want a permissively-licensed package manager (MIT vs BSD) that is Homebrew-compatible.
When NOT to use stout
- You depend on a Homebrew tap that stout doesn't support yet.
Frequently asked questions
Will stout run my existing Homebrew formulae?
Yes — stout is Homebrew-compatible. Existing formulae install with `stout install <formula>`.
Does stout use the same bottle binaries as Homebrew?
Yes — stout fetches from the same bottle mirrors that Homebrew uses.