Skip to main content
The point of a graph is that your agent reads the part of the codebase that matters, not all of it. graphify benchmark puts a number on that: it compares the tokens in your full corpus with the tokens in the subgraph Graphify returns for a set of typical questions.
Use this when you want to show your team what Graphify saves on your own repository, or to check that a graph is focused enough to be useful.

How it works

1

Estimate the naive cost

The corpus size in words is converted to tokens at about 133 tokens per 100 words. If no word count is supplied, it’s estimated as 50 words per node.
2

Ask sample questions

Five questions run against the graph exactly as the MCP query_graph tool would answer them: authentication, the main entry point, error handling, what connects data to the API, and the core abstractions.
3

Compare

Each answer’s size is measured at about 4 characters per token. Questions with no matching nodes are skipped. The reduction is the naive cost divided by the average answer.

See it in action

This run is from a mid-sized Python repository. The authentication question is missing because that repository has no auth code. Your numbers depend on your code and your graph. To benchmark another graph, pass its path:

Read the result

The naive side is an estimate, not a measured prompt. Treat the ratio as a guide to scale, not a billing figure.

Verify and troubleshoot

No. It runs offline against graph.json.
Not from the command line. Run graphify query with your question to see the answer and its size.

Run it on a second repository

These examples come from a code-only graph of the open-source httpx repository, built with Graphify Local 0.9.97. Your counts will differ.
This repository has authentication code, so the auth question ran here, unlike on the demo graph. The spread between questions is the useful part: a broad question costs more tokens than a focused one.

Troubleshooting

FileNotFoundError: Graph file not found: /tmp/nope.json. Run a build first, or pass the path to an existing graph.json:

Compare runs

The ratio depends on corpus size: a bigger corpus costs more to read naively, so the graph saves more. Compare runs on the same repository over time, not across repositories. The command takes one optional argument, the path to graph.json. If there’s a .graphify_detect.json in the current directory, the benchmark uses its total_words value instead of estimating.

FAQ

Is this a quality benchmark? No. It compares tokens only. It doesn’t check whether the answer is correct. Why is the word count estimated? Without corpus statistics, the benchmark estimates words from the node count.

What’s next

Ask better graph questions

Write questions that return focused answers.

MCP tools

Give your agent the same answers.

Try it in Graphify

We build and host the graph for you. Start with a 14-day Pro trial, then keep up to 3 repositories on Free. No card required.