1.3 KiB
1.3 KiB
title, type, tags, sources, last_updated
| title | type | tags | sources | last_updated | ||||
|---|---|---|---|---|---|---|---|---|
| Incremental Graph Update | concept |
|
|
2026-04-25 |
Definition
增量图谱更新(Incremental Graph Update)是 LSP/Index Engineer 维护代码语义图谱的核心策略——通过文件监视器(File Watchers)和 Git hooks 检测变更,仅更新受影响的图谱子图,而非全量重建,从而实现亚秒级增量同步。
Trigger Mechanisms
- 文件监视器:监听文件系统变更,触发相关符号的重新索引
- Git hooks:在提交前后执行图谱增量更新,确保版本控制集成
- WebSocket 推送:将图谱差异实时推送至连接的客户端
Consistency Guarantees
LSP/Index Engineer 的原子性保证:图谱更新必须是原子性的——从不将图谱置于不一致状态。具体约束:
- 每个符号有且仅有一个定义节点
- 所有边必须引用有效节点 ID
- 文件节点必须在符号节点之前创建
- 导入边必须解析到实际文件/模块节点
Performance Impact
增量更新使得图谱在 100k+ 符号规模下依然保持亚秒级响应:
- 文件保存后 → 图谱更新传播至客户端 <500ms
- 单个文件变更 → 仅更新受影响子图,而非全量重建
- WebSocket 推送延迟 <50ms