Mneme benchmarks The fastest of four.
Four code-graph MCP servers, the same five questions, the same workspace of more than 50,000 lines in over 400 files. Each column in this hall is as tall as the time its tool took: one metre for every 111 seconds.
- Mneme411 s
- graphify478 s
- tree-sitter734 s
- CRG1,111 s, one question over the time budget
Time, tokens and cost
Per question, on average.
| Server | Time | Output tokens | Cost | Index build |
|---|---|---|---|---|
| Mneme | 82 s | 5,159 | $0.97 | 23 s |
| graphify | 96 s | 6,564 | $0.93 | 13 s |
| tree-sitter | 147 s | 9,505 | $1.38 | per question |
| CRG | 222 s | 7,655 | $1.20* | 41 s |
* CRG answered four of the five questions within the time budget. At 50 questions a developer a day, a team of 100 would spend $512,500 less a year with Mneme than with tree-sitter, and $287,500 less than with CRG. graphify costs four cents less a question.
Quality, honestly
Not first on every axis.
Each answer was scored from 0 to 10 by counting the known facts it found. tree-sitter scored highest, 9.0. Mneme scored 8.0: nine on three questions, eight on one, and five on the third, a call graph asked while the daemon was still indexing the project. graphify scored 8.2 and CRG 8.0.
Mneme was the only one of the four with the seven features the bench listed: memory across sessions, multimodal input, 27 sharded stores, 14 graph views, convention detection, drift detection and federated patterns across projects.
How it was measured
Same prompts. Only one server at a time.
- HostClaude Code 2.1.126, the same model and the same five prompts for every server.
- Isolation
--strict-mcp-config, so only the server under test was there, and Claude could not fall back to its own Read, Grep or Glob. - WorkspaceMneme’s own repository: Rust, TypeScript and Python, more than 50,000 lines in over 400 files.
- Budget180 seconds of wall time per question. Run again on 3 May 2026.
- MeasuredWall time of the whole Claude process, output tokens, and the cost Claude reports for each run.
This run measured the release before the symbol resolvers. A run of the current build is still to come.
The next measure
Ten hard questions. A projection, for now.
A set of ten golden questions tests exact recall: the callers of a re-exported function, what breaks if a function is renamed, Python overloads across a class hierarchy, calls from TypeScript into Rust. The release before Genesis answered 2 of the 10 exactly. With the three symbol resolvers the projection is about 6 of 10. That is a projection from an audit, not yet a measured run, and this page will say so until one exists.
- Macro-expanded RustCallers through macros, derives and async traits. Targeted for v0.5.
- Python overloadsMethod resolution order, abstract classes, mixins. Targeted for v0.5.
- Across languagesTypeScript calling Rust over WASM, Python through ctypes. A research target.
- Dynamic dispatchTrait objects and virtual methods. The hardest, because it needs runtime data. Longer-term research.