dssim性能提升
-
目前主要是两个改动
- accelerate分支对离散系统求解过程优化.
- refactor去掉了生成器,增加了一个c++的ode3求解器。
- 两者相比原来(600s左右)都有提升,将两个分支的工作结合为refactor_acc分支,增加了new_ode4。
| 分支 |
求解器 |
scalene时间1 |
scalene时间2 |
scalene时间3 |
| accelerate |
ode4 |
360.15 |
368.6 |
374.75 |
|
|
|
|
|
| refactor |
ode4 |
504.35 |
491.19 |
493.27 |
| refactor |
new_ode4 |
396.94 |
390.26 |
392.84 |
|
|
|
|
|
| refactor_acc |
ode4 |
326.93 |
308.67 |
309.62 |
| refactor_acc |
new_ode4 |
313.08 |
322.26 |
321.17 |
-
观察结果
- 第一组说明离散模块比较多,对离散的优化效果比较明显
- 第二组可以看到去掉生成器,仍使用原求解器ode4时,也有提升。使用新求解器后,有进一步的提升。
- 第三组可以看到使用原求解器时,相比第一组仍有提升,这是去掉生成器带来的优势。但是此时使用新求解器的花费时间和ode4差不多,可能是使用C++模块的开销较大。之前师兄也让我看一下转换时python字典和numpy矩阵的性能问题,还在研究。
本文章使用limfx的vscode插件快速发布