SMP 工具 2 分 51 秒索引 9.6 万文件 Linux 内核树,跑分还揪出一个 1.5 秒查询 bug

Numerous_Beyond_2442 · reddit · 2026-10-25

作者 Senthil 发布开源项目 SMP(Structural Memory Protocol):一个可通过 MCP 查询的实时代码结构图,解决编码 agent 只能读文件、答不了「谁调用它、改了会崩什么、哪些测试覆盖它」这类结构问题的痛点。

功能:调用关系与影响面分析、文件大纲、社区检测、测试覆盖上下文;BM25 关键词检索 + 结构扩展,不用 embeddings;一行安装即可接入 Claude Code、OpenCode、Codex、Cursor;单文件内存映射图,无需数据库和服务器。

基准测试(同一台 8 线程 i7-1165G7 笔记本,无 GPU):95,937 个文件的 Linux 内核快照 2 分 51 秒建完,839,516 节点 / 4,066,943 边,图占 2.2 GB、峰值内存 6.5 GB;对比 codebase-memory-mcp 的 13 分 14 秒快 4.6 倍;208 文件仓库 0.99 秒 vs 5.27 秒(5.3 倍)。

跑分揪出的 bug:locate 查询每次全量重载节点并重新分词整个 BM25 语料,4,575 节点图上 p50 达 1,493ms,在 83.9 万节点内核图上两次 OOM 杀掉作者桌面(systemd-oomd 连 opencode 会话一起带崩)。修复方案是 store 版本计数器 + 语料缓存(≤25 万节点,带兜底),结果字节级一致,新增 9 个测试,修复后 locate p50 仅 40–85ms。

所属事件:开源 SMP 工具 2 分 51 秒索引 Linux 内核 9.6 万文件(2 条相关)→

原文链接 →

「编程与Agent」频道最新

更多「编程与Agent」频道 AI 资讯 →