优化雅可比矩阵计算;端口转发情况下仿真结果传输方式优化
This commit is contained in:
1 parent
3bc4be3c06
commit
aa4951b14e
28 files changed
+8038
-23
No files matched your search
@@ -0,0 +1,25 @@
|
||||
# 仿真结果传输优化备份(未启用)
|
||||
|
||||
2026-09-12:按用户要求停止测试,将本轮改动仅保存为后续备选方案。正式源码、依赖声明和浏览器构建资源已恢复到本轮试验前;此前已接受并启用的雅可比求解优化保留。未重启或替换正式后端,未提交或推送本轮备份。
|
||||
|
||||
## 备份位置
|
||||
|
||||
- [optimization.patch](optimization.patch):本轮 9 个文件的完整差异,含后端 gzip 中间件、前端结束处理、依赖下限、回归测试及测量工具。
|
||||
- [manifest.json](manifest.json):各文件试验前和候选版本的 SHA-256,明确恢复基线。
|
||||
- 本机原始试验资料:`test/result-finalization-20260912/`,被 Git 忽略。`baseline-source/` 是试验前源码和构建快照,`candidate-frontend-dist/` 是未启用的候选构建;其余目录保存停止前已产生的浏览器记录和下载。
|
||||
|
||||
补丁相对于本轮试验开始时、已经包含正式雅可比优化的工作区生成,不能用仓库较早提交直接替代该基线。当前没有需要开启或关闭的生产配置;备份不会被应用自动导入。
|
||||
|
||||
## 已定位的问题与候选方案
|
||||
|
||||
`complete` 进度在 C 计算、结果写出和 Python 索引读取完成后发出。旧提示“正在汇总仿真结果”之后仍需传送约 33.4 MB 的 HTTP 结果。用户通过远程端口转发访问 5173,约 20 秒的等待与传输瓶颈相符;受控 1,600,000 B/s 条件已复现约 21 秒等待。这是受控复现,不是用户实际隧道的抓包测量。
|
||||
|
||||
候选方案只压缩仿真响应:gzip level 1、256 KiB 分块、及时刷新进度;结果体约降至 12.1 MB。JSON、数值精度、采样及求解器保持不变。压缩响应仍读到 EOF,保留浏览器解码完整性校验;未压缩响应可在完整结果行后结束,取消清理不阻塞结果发布。
|
||||
|
||||
本机已完成组显示压缩增加约 0.45 秒等待,因此该方案主要面向带宽受限场景,不是所有连接的普遍加速。停止测试前已有轻量压缩与 HTTP 回归、前端流结束测试通过;未完成此次正式网页发布及完整八路导出数值的独立验收,不将备份视为已验收版本。
|
||||
|
||||
## 日后恢复
|
||||
|
||||
在隔离分支或工作目录中先审阅补丁,执行 `git apply --check docs/other/backups/2026-09-12-result-transfer/optimization.patch`,确认基线仍匹配后再应用。候选依赖 `starlette>=1.6,<2` 的流式刷新及线程压缩行为。恢复后需重新构建前端并完成数值、异常、浏览器和真实转发连接的验收,才决定是否启用。
|
||||
|
||||
本次没有新增或上传运行环境。
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"status": "archived-not-enabled",
|
||||
"date": "2026-09-12",
|
||||
"basis": "Current accepted Jacobian implementation before this transfer experiment; not a rollback to git HEAD.",
|
||||
"files": [
|
||||
{
|
||||
"path": "app/main.py",
|
||||
"beforeSha256": "ba8467bd855086e60e2f7b3f1d5cf61efbb8a698560fc5a44163c59c73982c96",
|
||||
"candidateSha256": "89ccbf3b1aa949dcfca8cb28dd2ccfdb867c1e90ef3adf2a0142e8408a9e50a3"
|
||||
},
|
||||
{
|
||||
"path": "frontend/src/App.tsx",
|
||||
"beforeSha256": "b43507ca9cde6e21bcfc8b057b1c15c495e02dc1c782b9c8a1f3bd3d7b29b883",
|
||||
"candidateSha256": "8ef51d0483886dce459943e1e2cf27a37e205a03c3949ea227061642792ebec2"
|
||||
},
|
||||
{
|
||||
"path": "tests/manual/browser_stage_profile.mjs",
|
||||
"beforeSha256": "127936b288a612b0f7bafd7ad906afa1c9edfc8254aee8cf97e7bd4cb1c058c2",
|
||||
"candidateSha256": "fdad4ab82892cce90db1e662bc48dc7a7a62c7ebea176e6ec77097448279422e"
|
||||
},
|
||||
{
|
||||
"path": "requirements.txt",
|
||||
"beforeSha256": "0580e0c33b80e6c740fffb5f61d43a26dede3ee209822a064429f35e9f68b696",
|
||||
"candidateSha256": "13e99540643dbe6211e3619d3c15ceb1f56dcd61448f3cf930a3ace7df508171"
|
||||
},
|
||||
{
|
||||
"path": "tests/test_native_result_transport.py",
|
||||
"beforeSha256": "9127978933adcb29e748a4d71e6ce66d2af949750b162f62299031161176c3af",
|
||||
"candidateSha256": "c0f1a68e603d34f072eed3ca82efaff446970fc48a32196e0c3c50ad098738f6"
|
||||
},
|
||||
{
|
||||
"path": "app/result_compression.py",
|
||||
"beforeSha256": null,
|
||||
"candidateSha256": "82179874927292007020186af35bb9fb0314446d9fdf8951265f610899328451"
|
||||
},
|
||||
{
|
||||
"path": "frontend/tests/e2e/simulation-stream-terminal.spec.ts",
|
||||
"beforeSha256": null,
|
||||
"candidateSha256": "a903571ebcf995d43bd9ff2be86d40720ac24fd7c11925b07cbc66dae9cc4582"
|
||||
},
|
||||
{
|
||||
"path": "tests/test_simulation_result_compression.py",
|
||||
"beforeSha256": null,
|
||||
"candidateSha256": "77c99527ab3e5f2bf8b05f378b489cf175ff51b6b6c508040bcfda47422ab8e1"
|
||||
},
|
||||
{
|
||||
"path": "tests/manual/result_transfer_profile.py",
|
||||
"beforeSha256": null,
|
||||
"candidateSha256": "f362f079540a9787f307599d0bb79b8b984adb274750edffd4b5df0fd4b15d04"
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user