Replace Python numerical kernels with native C execution
This commit is contained in:
1 parent
48da6be21c
commit
3b38f73fe0
227 files changed
+16801
-75499
No files matched your search
@@ -0,0 +1,23 @@
|
||||
# 更新日志 2026-09-09
|
||||
|
||||
## 21:37
|
||||
|
||||
- 完成第一版 C 数值后端:由规范化 XML 自动生成模型 C 代码,链接独立 RK45/CVODE BDF 程序,支持 skill-test 使用的 12 类组件及已声明模式。
|
||||
- 接入现有 XML 仿真 API、编译缓存、独立进程、进度、取消与错误结果;共用 Python 后端入口和结果合同,保留仍在使用的 Python 参考及其他模型。未调整现有雅可比算法。
|
||||
- 33 项相关测试通过。skill-test 的 RK45 全量结果与当前 Python 严格对照通过;三次纯求解中位时间为 RK45 0.2948 s、BDF 0.02228 s。BDF 收紧误差限后的收敛检查通过,详细偏差和限制见第一版报告。
|
||||
- 程序、生成源码、验证数据与报告保存在 `test/native-v1/`;新增使用说明和分步实施记录。
|
||||
|
||||
## 22:19
|
||||
|
||||
- 在当前网页真实复现并修复 C 仿真完成后读取缺失 `pressureFlow.maxScaledResidual` 的错误。C 结果补齐采样点数和状态数,前端兼容可选的 Python 诊断以及旧 C 后端缺少的计数字段;结果可以保存和刷新恢复。
|
||||
- 确认用户改后的默认后端实际为 `native-c`。3 项浏览器回归、1 项原生 API 诊断回归、TypeScript 检查及前端生产构建通过。
|
||||
- 完成 skill-test 的 EXE、HTTP、生产网页及当前开发网页对照:两种方法共 96 次运行(含预热),完整数值结果逐点一致;5 次中位数中,RK45 纯求解 0.3196 s、完整 EXE 0.6326 s、当前网页 1.1846 s;BDF 分别为 0.02206 s、0.3673 s、0.8043 s。
|
||||
- 另以固定结果流回放隔离进度交互开销:10 组配对中位数约增加 189.6 ms 的浏览器主线程任务时间,主要落在开发构建下工作台与组件库的重复 JSX 创建。该时间与后台执行重叠,不能直接作为额外等待时间相加。
|
||||
- 详细记录和复现脚本位于 `test/native-web-20260909/`。本次未变更求解器、雅可比或进度交互性能结构。
|
||||
|
||||
## 默认 C 启动与 Python 依赖核对
|
||||
|
||||
- 统一默认内核选择,后端脚本默认设为 `native`,启动日志明确显示所选内核;显式 `python` 覆盖仍用于旧模型和数值对照。
|
||||
- 启动预热按内核分支执行:C 模式检查工具链与 XML Schema,不再执行 Python/SciPy 数值预热;工具链失败不会静默回退。
|
||||
- 10 项启动/默认 API 回归测试通过。额外在全新进程中移除内核环境变量,验证真实应用 lifespan 与 skill-test XML 执行:默认 native、未加载 scipy.integrate,成功计算至 10 s,502 采样点,12 状态。记录位于 `test/native-default-startup/result.json`。
|
||||
- 核对并记录 Python 保留范围:C 编译仍依赖组件对象、注册表、公共配置与 XML 采样校验,旧示例和未覆盖模型仍依赖 Python 数值实现,未整批删除现有文件。
|
||||
Reference in new issue
Block a user