mirror of
https://ghfast.top/https://github.com/aeroxw/easy-tdx.git
synced 2026-09-12 22:44:17 +08:00
回测是 numpy/pandas 的 CPU 密集计算并持有 GIL,多线程无加速,必须用 多进程。照搬项目里已跑通的 screen/scanner.py 进程池模板。 后端: - OptimizeAllBacktestRequest 新增 workers 字段(默认 1=串行,0-32) - 抽出模块顶层函数 _optimize_one_strategy(可被 ProcessPoolExecutor pickle),策略类在子进程内构造,避开跨进程 pickle 问题 - _run_optimize_all 在 workers>=2 时用进程池并行,否则走原串行逻辑 - 顺带修复 backtest_schemas.py 的 E501 历史遗留 前端: - OptimizeView 配置区新增「一键寻优并发」选择器:自动检测 CPU 核数 + 串行/4/8/16 进程下拉,默认串行,标注推荐档 min(CPU, 8) - types.ts/api.ts 透传 workers 字段 实测 8 进程 vs 串行提速 4-6x;端到端冒烟验证并行与串行结果完全一致