banish.shdocs
HomeGitHub
Reference / Benchmarks
View as Markdown

Benchmarks

Every savings claim on this site is backed by a fixed benchmark corpus that ships in the banish repository and gates every release in CI. This page publishes the raw numbers - including the commands where banish saves little - and the one command that reproduces them.

The numbers

The corpus holds 43 command fixtures. Across all of them, banish compacts 24,394 raw tokens down to 6,289 - a 74 percent reduction overall, with a median of 80 percent per command. Most commands land between 60 and 95 percent. Commands whose output is already structured JSON, like kubectl get pods or gh pr list, save less, and those rows are left in below rather than hidden.

The 37 rows here are the representative set. Raw is the token count of the real command output; compacted is what banish returns to your agent.

CommandRaw tokensCompactedSaved
git status (clean)25580 percent
git status (dirty)1364170 percent
git diff (2 files)2797573 percent
git log (8 commits)36311568 percent
grep -rn (60 matches)107137065 percent
go test ./... (1 fail)3304188 percent
npm install953563 percent
cargo build (33 crates)2651794 percent
make (20 files)390599 percent
jest (12 suites pass)1703778 percent
gh pr checks (1 fail)732270 percent
dotnet build (3 projects)962376 percent
kubectl get pods (20 pods)39930524 percent
gh pr list (12 PRs)40333916 percent
gh run list (10 runs)41224541 percent
git diff package-lock.json5035789 percent
git diff Cargo.lock2896478 percent
git diff yarn.lock3306082 percent
git diff go.sum3456880 percent
gcloud compute instances list (5 VMs)117813189 percent
gcloud container clusters list (3 GKE)7528389 percent
gcloud run services list (4 svcs)84813185 percent
gcloud sql instances list (4 SQL)79310587 percent
gcloud builds list (5 builds)80111985 percent
gcloud pubsub topics list --format=json (5 topics)27310163 percent
az vm list (5 VMs)9538391 percent
az storage account list (4 accts)7918090 percent
az webapp list (5 apps)69210984 percent
az aks list (3 clusters)7286491 percent
az monitor activity-log list (5 events)79316080 percent
az keyvault list --output json (4 vaults)53521161 percent
aws ec2 describe-instances (5 instances)205811395 percent
aws lambda list-functions (6 fns)126713789 percent
aws cloudformation describe-stack-events105618383 percent
aws logs filter-log-events (10 events)91043253 percent
aws iam list-users (6 users)58711980 percent
aws eks describe-clusters --output json (4 clusters)60816273 percent

For a walkthrough of individual commands, see the per-command guides: git, cargo, npm, kubectl, and go test.

What we measured

Each fixture is real output from the named command, captured once and stored in the repository. banish runs it through the same compaction pipeline your agent hits - the built-in filter packs and defaults, no user extensions - and counts tokens on both the raw and compacted text with the same tokenizer your agent uses.

These are representative fixtures, not a guarantee. Token counts vary with repository state, cluster size, and output length, so treat the percentages as typical rather than exact. The methodology page explains how tokens are counted.

Run it yourself

The corpus is not a marketing artifact - it is the same fixture set the test suite runs on every change. Reproduce the whole table:

banish bench

Add --check to fail if any command drops below its savings threshold. This is the exact gate that runs in CI, so the published numbers cannot silently drift:

banish bench --check

Where the savings come from

banish keeps the part of each command's output that carries meaning and drops the predictable noise. See the built-in filters for the commands compacted out of the box, and the bash proxy for how output is intercepted and compacted before it reaches your agent.

banish benchmarks - reproducible token savings across 43 commands - banish