4.5 KiB
2026-09-09 效率修复与模块预加载
本次沿用已提供的桌面 FreeCAD 源码、现有独立 WASM 和交付顺序,没有重编译 native、重做 DXF 或缩减完整业务范围。详细基线见 逐轮耗时 及同名 JSON。
20 轮实测基线
窗口:5280–5299;累计测量 2364.373 秒。事件间隔包含模型、服务、传输与客户端时间,不是纯推理时间;下面的阶段已计入总量,不再加轮间间隔。
| 步骤 | 秒 | 占比 | 处理重点 |
|---|---|---|---|
| 读取后无工具间隔 | 437.034 | 18.48% | 复用已有证据与当前工作包,减少无效恢复 |
| 空闲终止 | 429.344 | 18.16% | 脚本编辑不得误判为无编辑 |
| 首次决策 | 394.935 | 16.70% | 有现成有效结果不再启动模型重复实现 |
| 实际编辑区间 | 318.754 | 13.48% | 保留真实修改,不削减业务内容 |
| 后置构建 | 212.733 | 9.00% | 按实际 Worker 对应目标增量构建 |
| CMake 再生成 | 76.204 | 3.22% | 链接参数问题一次预检报全 |
| 实际文件读取 | 2.206 | 0.09% | 不是本窗口主要瓶颈 |
本窗口流式失败 0;11 轮处于恢复流程,累计约 1100.5 秒。不能据此声称网络完全稳定,也不能继续将主要浪费全部归为网络。
已完成修复
| 问题及证据 | 改动 | 验证边界 |
|---|---|---|
| 混合通过/失败报告随非零退出被整体打回,已成功业务重复恢复 | run_business_acceptance.py 保留逐项成功证据及进程退出码,整体仍返回未完成,只标记剩余项失败 |
成功子集可 --reuse,不再次执行;重复 ID、全通过但进程失败、依赖变化仍拒绝 |
JtReader 5297–5299 分多轮补链接设置,路径中 -pthread 被误当选项 |
check_web_link_closure.py 使用参数解析,缺真实 -pthread 和线程池设置一次报全 |
本地预检测试,无需重复实际链接 |
| Fem 5290 脚本已写源码,调度器仍显示 fileChanges=0,最终空闲终止 | 只跟踪本批源码/合同,在工具结束后比较内容;识别后交给原有后置增量流水线 | 脚本修改、创建、删除可识别;纯读取/touch 不计编辑;显式补丁不重复计数;不打断活动工具 |
| 预加载遗漏 manifest 顶层地址;NaN 并发参数造成零下载却 ready | 两个既有预加载入口均兼容顶层/Worker 地址,并归一化并发参数 | 仅所选模块、地址去重、并发不超过 2、失败不报 ready |
模块化执行
当前清单 32 个模块条目、34 个独立 WASM,引用文件均存在。继续按功能模块组织;某模块需要多个已有 runtime 时保留实际映射,不强制重链为一个文件。Part 文档与几何分别使用 DocumentProbe、PartBoxProbe。跨独立实例不传 native 指针,主文档状态归属不变。
已有字节缓存预加载参数:/workbench.html?moduleManifest=/modules/manifest.json&preload=Part,TechDraw。默认不预加载全部模块;共享产物地址只下载一次。缓存预取不等于 WASM 编译/初始化完成;自动工作台预测预取仍非当前已完成能力。
验证与结论
- 218 项 Python 回归通过,耗时 24.606 秒,包含上述三个调度/预检/证据复用修复及原有边界。
- 14 项 Node 预加载/产物测试通过,测试框架报告 0.388 秒;两个预加载入口应用相同用例。
- TypeScript
tsc --noEmit通过。 - 补充 33 项调度/逐步计时回归通过,耗时 14.061 秒。构建选择
--dry-run实测 0.65 秒,仅选当前 Part 的既有目标,没有编译。 - 本地
http://localhost:5180/module-preload.js返回 200,确认包含本次两项预加载修复;未为验证缓存预取而下载全部大型 WASM。 - 隔离测试没有请求模型接口、没有执行真实 WASM 编译,也不生成业务完成记录。它们证明修复行为,不能作为完整迁移完成或生产吞吐恢复的证据。
新增 observedSourceChanges、lastChangedSources、sourceChangeScanSeconds 用于显示内容变更检测及自身开销。下一窗口继续用原有逐步骤统计和新增有效业务结果衡量实际收益;不以调度轮数、重启、重复通过或文档更新作为新增交付。
部署快照:2026-09-09 05:31(Asia/Shanghai),旧回合正常结束后由原 watchdog 续启 v22,PID 3047043,第 5304 轮;当前源码 SHA-256 与运行进程状态一致。未强杀当前业务工具。后台继续执行,不能以这一快照宣称全部业务或吞吐恢复。