I ran ripgrep, Serena, claude-context and my own tool on the same repo
说明与用途
在 Flask 3.1.3 仓库上比较 ripgrep、Serena、claude‑context 和 Semlith:ripgrep 在精确匹配时最快,Serena 擅长符号级编辑,claude‑context 需要长时间设置且可能索引不完整,Semlith 在速度和语义相关性之间取得平衡。
问题
Compare how different code‑search tools perform on the same repository when answering the same query.
结果
ripgrep was fastest for exact identifier queries; Serena excelled at symbol‑level edits; claude‑context required the longest setup and had incomplete indexing; Semlith balanced speed and semantic relevance, returning relevant code and documentation.
工作流
- Clone Flask 3.1.3 repo
- Run ripgrep search with and without identifier
- Set up Serena environment and index repository
- Query Serena with identifier and regex
- Set up claude‑context with local Milvus and Ollama
- Run claude‑context indexing and search
- Run Semlith index and search
- Compare results for specific queries
- Measure setup times and search accuracy
证据
ripgrep 15.2.0, Serena 2.1.0, claude-context 0.1.15 (with Milvus 3.0.3 and Ollama running nomic-embed-text) and semlith 0.50.0.
Setup on Flask 3.1.3 on an M1 MacBook Air with 8 GB.
Serena gives the agent symbol tools backed by real language servers, over 40 languages.
claude-context is Zilliz's MCP server. It chunks code, embeds it and stores the vectors in Milvus, with hybrid search on top.
Semlith index .
indexed 211 files (2778 chunks, 5 images) in 84.3s
- 记录日期: 2026-11-01T21:44:14.506Z