Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cbm-vs-codegraph-bench

實測比較 codebase-memory-mcp-pro(cbm,win4r fork)與 CodeGraph 在 C 程式碼上的能力, 題目為 wpa_supplicant(函式指標分派表 + 條件編譯極密集的真實 C 專案)。

核心結論

  • ★ 呼叫關係(誰呼叫誰):CodeGraph 壓倒性勝——直接呼叫圖召回 93% vs 0%;cbm 的 CALLS 邊 99% 掛在「檔案」而非「函式」(函式級僅 1%)。
  • 函式指標分派drv->ops->scan()):CodeGraph 合成器召回 3/5,cbm 0/5
  • 基本建構召回(struct/enum/function):兩者皆 85–100%,平手。
  • cbm 的強項:巨集(3,395 Macro 節點)、openCypher 查詢、索引速度(4.2s vs 14s)。
  • 泛化驗證:在 redis 上 cbm 呼叫圖更極端(0% 函式級)→ 檔案級限制非 wpa 特有(results/redis/generalization.md)。
  • 完整分析見 REPORT.md(含主比較大表、內網相依性、8 項 C 語法特性、傳統工具、索引時間)。
  • 架構/協定/Claude Code 對接見 ARCHITECTURE.md;實用決策指南見 PLAYBOOK.md
  • 詳細結果:results/ctest8/features8.md(8 特性)、results/timing.md(索引時間+傳統工具)、results/redis/compile-commands-test.md

衍生工具

依本 benchmark 結論做出的自製工具 ccq(clangd+fnptr啟發式+編輯+warm daemon,Go 零相依)→ swchen44/ccq;對照見 results/ccq/ccq-bench.md(8 特性唯一全過)。

重跑

./setup.sh                                       # 裝 codegraph(bundled) + build cbm + brew cscope/cflow
bash bench/bench.sh repos/subset subset          # 子集(12檔)驗證方法
bash bench/bench.sh repos/wpa_supplicant full    # 整包(620檔)看規模

結果在 results/{subset,full}/,原始輸出在 results/raw/(已 gitignore 大型 db)。

結構

  • setup.sh — 安裝工具與 clone
  • bench/lib.sh — 共用 helper
  • bench/bench.sh — 主 harness(索引兩工具 + 結構指標 + 考題 Q1-Q6)
  • results/subset/SUBSET.md — 子集檔案與 ground truth
  • REPORT.md — ★ 完整報告(使用步驟、比較、限制、人類決策)

About

實測比較 codebase-memory-mcp-pro vs CodeGraph 於 C 程式碼(wpa_supplicant):函式指標分派、巨集、#ifdef 處理

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages