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:
范智鹏
2026-08-27 22:54:07 +08:00
parent e469554691
commit 3280836124
33 changed files with 3710 additions and 36 deletions
+46 -25
View File
@@ -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 分钟(2286s23 文件) | 8.6 秒(8576.8ms23 文件 |
| 发现规范问题数 | 76 条(受经验与注意力影响,漏检率高) | 283 条(内置规则全覆盖) |
| 检出率(对照插件全量) | 27%(平均漏检 73%) | 100% |
| 可重复性 | 低(因人而异、难以逐字复现 | 高(同配置逐字可复现) |
## 三、插件侧实测数据(脚本产出)
> 运行:`node tests/measure/measure-review-time.mjs`,结果另存 `tests/measure/results/measure-results.json`。
> 实测日期:2026-08-26Node.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 提速约 94238 倍)。
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`。