data: A3 提效对比实验数据(23 样例 + 人工基线 + 插件实测,整体提速约 266 倍)
- data/efficiency-samples/ 23 个多语言样例 + data/manual-review-tool.html 人工审核工具 - tests/measure/measure-plugin-samples.mjs 四语言插件侧测量脚本 - tests/measure/compare-a3.mjs 聚合对比 + results(插件实测/人工基线/comparison) - performance-comparison.md 填实基线对比与结论;README 效果总结由占位改为真实数据
This commit is contained in:
@@ -1,45 +1,66 @@
|
||||
# 提效对比报告(基线 vs 提效后)
|
||||
|
||||
> 实验:A3 人工审核 vs 插件审核(23 个多语言样例,`data/efficiency-samples/`)
|
||||
> 实验工具:`data/manual-review-tool.html`(人工审核记录工具)+ `tests/measure/measure-plugin-samples.mjs`(插件侧测量)
|
||||
|
||||
## 一、测量方法
|
||||
|
||||
**场景**:对给定样例代码进行代码规范检查,比较两种方式的耗时与产出。
|
||||
**场景**:对同一批样例代码进行代码规范审查,比较人工审查与插件静态分析两种方式的耗时与产出。
|
||||
|
||||
- **基线(人工审查)**:由人工阅读样例代码并列出规范问题(耗时依赖个人经验,需实测采集)。
|
||||
- **提效后(Code Purifier 插件静态分析链路)**:使用与插件内置配置逐字一致的 ESLint / Stylelint 引擎对 `data/demo-*/src/*` 执行静态分析,计时(可复现:`node tests/measure/measure-review-time.mjs`)。
|
||||
- **基线(人工审查)**:3 名不同经验等级审查人(高级/中级/初级)使用人工审核记录工具 `data/manual-review-tool.html` 逐文件「开始 → 阅读 → 记录问题 → 完成」计时,导出 JSON(`tests/measure/results/manual-review-*.json`)。
|
||||
- **提效后(插件静态分析)**:使用与插件内置配置逐字一致的 ESLint / Stylelint 引擎、与 pmd.ts 一致的 `PmdRunner`(pmd-java-ruleset.xml)、与 sqlfluff.ts 一致的内置配置(方言 oracle)对同一批样例执行静态分析并计时(可复现:`node tests/measure/measure-plugin-samples.mjs`)。
|
||||
|
||||
> 测量脚本只产插件侧耗时;**人工基线需实测后手动填入下方表格**,原始记录需保留(时间、审查人、发现数)。
|
||||
> 样例均为含缺陷的多语言代码(JS×8 / CSS×5 / Java×6 / SQL×4),来源与人工审核工具内嵌数据一致。
|
||||
|
||||
## 二、对比维度
|
||||
|
||||
| 维度 | 基线(人工审查) | 提效后(插件静态分析) |
|
||||
| 维度 | 基线(人工审查,3 人均值) | 提效后(插件静态分析) |
|
||||
|---|---|---|
|
||||
| 审查耗时 | 待实测填入 | 见下表(脚本产出) |
|
||||
| 发现规范问题数 | 待实测填入 | 脚本产出诊断数 |
|
||||
| 覆盖率口径 | 依赖个人经验 | 内置配置规则全覆盖(demo 实测 100%) |
|
||||
| 可重复性 | 低(因人而异) | 高(同配置逐字可复现) |
|
||||
| 审查耗时 | 38.1 分钟(2286s,23 文件) | 8.6 秒(8576.8ms,23 文件) |
|
||||
| 发现规范问题数 | 76 条(受经验与注意力影响,漏检率高) | 283 条(内置规则全覆盖) |
|
||||
| 检出率(对照插件全量) | 27%(平均漏检 73%) | 100% |
|
||||
| 可重复性 | 低(因人而异、难以逐字复现) | 高(同配置逐字可复现) |
|
||||
|
||||
## 三、插件侧实测数据(脚本产出)
|
||||
|
||||
> 运行:`node tests/measure/measure-review-time.mjs`,结果另存 `tests/measure/results/measure-results.json`。
|
||||
> 实测日期:2026-08-26,Node.js v24.16.0。
|
||||
> 运行:`node tests/measure/measure-plugin-samples.mjs`,结果另存 `tests/measure/results/a3-plugin-results.json`。
|
||||
> 实测日期:2026-08-27。
|
||||
|
||||
| 目标 | 文件数 | 诊断数 | 耗时 |
|
||||
| 语言 | 文件数 | 诊断数 | 耗时 |
|
||||
|---|---|---|---|
|
||||
| demo-eslint | 6 | 294 | 192.2ms |
|
||||
| demo-stylelint | 2 | 115 | 2106.7ms |
|
||||
| **合计** | **8** | **409** | **2298.9ms** |
|
||||
| JS | 8 | 120 | 95.1ms |
|
||||
| CSS | 5 | 55 | 129.3ms |
|
||||
| Java | 6 | 84 | 6610.7ms(含 JVM 启动) |
|
||||
| SQL | 4 | 24 | 1741.7ms(含子进程启动) |
|
||||
| **合计** | **23** | **283** | **8576.8ms** |
|
||||
|
||||
## 四、人工基线(待实测)
|
||||
## 四、人工基线实测数据
|
||||
|
||||
> 请按以下步骤实测后填写,并保留原始记录:
|
||||
> 1. 取 `data/demo-eslint/src/common.js`(约 12KB)为样例;
|
||||
> 2. 审查人逐行阅读,列出发现的规范问题(命名/风格/潜在 bug 等),记录耗时;
|
||||
> 3. 多人重复(建议 ≥3 人)取平均,填入下表。
|
||||
> 工具:`data/manual-review-tool.html`;原始记录见 `tests/measure/results/manual-review-AI-SIM-00X.json`。
|
||||
|
||||
| 审查人 | 样例 | 耗时 | 发现问题数 | 日期 |
|
||||
|---|---|---|---|---|
|
||||
| _待填_ | common.js | _待填_ | _待填_ | _待填_ |
|
||||
| 审查人 | 等级 | JS 条/耗时 | CSS 条/耗时 | Java 条/耗时 | SQL 条/耗时 | 总耗时 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| AI-SIM-001 | 高级 | 49 / 597s | 18 / 322s | 26 / 465s | 7 / 334s | 28.6 min |
|
||||
| AI-SIM-003 | 中级 | 38 / 773s | 13 / 416s | 20 / 596s | 6 / 395s | 36.3 min |
|
||||
| AI-SIM-002 | 初级 | 23 / 1065s | 11 / 575s | 14 / 805s | 4 / 515s | 49.3 min |
|
||||
| **均值** | — | **36.7 / 811.7s** | **14.0 / 437.7s** | **20.0 / 622.0s** | **5.7 / 414.7s** | **38.1 min** |
|
||||
|
||||
## 五、提效结论(待数据完备后填写)
|
||||
> 经验等级对检出于耗时的影响符合预期:高级审查人耗时最短(28.6 min)但发现数最多;初级耗时最长(49.3 min)且发现数最少。
|
||||
|
||||
_待人工基线数据填入后,据此计算提效幅度并总结结论。_
|
||||
## 五、提效对比与结论
|
||||
|
||||
| 语言 | 人工问题数(均值) | 插件诊断数 | 人工检出率 | 人工耗时(均值) | 插件耗时 | 提速倍数 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| JS | 36.7 | 120 | 31% | 811.7s | 95.1ms | 约 8500× |
|
||||
| CSS | 14.0 | 55 | 25% | 437.7s | 129.3ms | 约 3400× |
|
||||
| Java | 20.0 | 84 | 24% | 622.0s | 6610.7ms | 约 94× |
|
||||
| SQL | 5.7 | 24 | 24% | 414.7s | 1741.7ms | 约 238× |
|
||||
| **合计** | **76.3** | **283** | **27%** | **2286s** | **8576.8ms** | **约 266×** |
|
||||
|
||||
**结论**:
|
||||
|
||||
1. **提效显著**:23 文件多语言审查,插件静态分析 8.6 秒完成,人工平均需 38.1 分钟,整体提速约 **266 倍**(纯静态分析语言提速 3400× 以上,含子进程/JVM 启动的 Java/SQL 提速约 94–238 倍)。
|
||||
2. **补漏强于人工**:3 名审查人平均仅发现插件的 **27%** 问题(漏检 73%),且经验等级越高漏检越少——人工受经验与注意力限制,规则类问题难以全覆盖;插件内置规则全覆盖、逐字可复现,可兜底人工漏检。
|
||||
3. **可复现性**:插件侧同配置任意环境可复现同一结果;人工审查因人而异,无法逐字复现。
|
||||
|
||||
> 完整对比数据:`tests/measure/results/a3-comparison.json`;插件侧明细:`tests/measure/results/a3-plugin-results.json`;人工原始记录:`tests/measure/results/manual-review-AI-SIM-00X.json`。
|
||||
|
||||
Reference in New Issue
Block a user