Benchmarks

The numbers, and exactly how we got them.

One measured run, published with its method and its caveats. Where a benchmark hasn't been run yet, this page says so instead of showing you a chart.

Method — token savings vs. read-grep-read

Corpus: the TLCPD repository itself at commit 455bb84c5c57 (135 files), imported via gan import and served by gan mcp from the imported store. Run 2026-07-08.

A driver speaks MCP over stdio and issues a realistic mix of ten tool calls, recording each response's size. Each call is paired with a counterfactual: the bytes the equivalent read-grep-read workflow ingests, measured from the actual repository. For callers, that means the summed size of every file containing the queried name — which is what "grep, then read the hits" costs. Tokens estimated at 4 characters per token on both sides.

The counterfactuals are deliberately conservative. They exclude wrong-file reads, retries, and re-reads across turns, and they assume the grep workflow finds the right files on the first pass. Real agents don't. TLCPD prevents these lookup errors entirely by resolving structural references directly.

Results — 10 calls, one session
AGENT CONTEXT QUERYResponse tokensCounterfactual tokensSaving
API Outline Generation1,7384,814 — read the file2.8×
Retrieve Single Function Body8894,705 — read its file5.3×
Cross-Reference Mapping Callers14114,820 — grep + read 8 hit files105×
Transitive Change Impact Scope2,01215,210 — grep + read hit files7.6×
Ranked Multi-File Intelligence Search406~5,700 — grep + read candidates14×
Type-Safe Structural Pattern Match2,012~22,200 — grep + read to filter false positives11×
Dynamic Context Bundle Packaging2,01226,420 — read top 6 relevant files13×
Compute Workspace Diff14~2,000 — read the text diff143×
Trace Attribution74~5,000 — read log -p of the file68×
Semantic Query Logs Filter283~1,500 — read full log output5.3×
Total9,581102,41010.7×

EFFICACY

Real-world savings sit above these figures.

Counterfactuals exclude retries and wrong-file reads; deterministic tool output turns repeat queries into prompt-cache hits; and context_pack replaces multiple LLM retries from your coding agent during exploration with a single call.

~90% of context-acquisition tokens disappear.

A session that spends 100k tokens rediscovering the repository needs about 10k through the tool surface.

Graph queries are the outliers.

callers at 105× and mappings_diff at 143×: the response is a list of names where the counterfactual is many whole files. These are also the queries agents repeat most.

outline tool’s is the floor.

Measured on a file that is mostly API surface; body-heavy files fare far better. That’s just one tool too.

The multiplier grows with repo size.

Responses are roughly constant-size; counterfactual file reads grow with the codebase. The benchmark corpus is small (135 files) — large repos sit well above 10.7×.