修复问题:¶
目前 remove-metaprogramming 分支代码运行 pytest tests -n 12 的时候使用的时间似乎比 master 版本多了很多
尝试分析并解决 remove-metaprogramming 分支性能上的缺陷问题。
对比目的¶
分析一下主分支和当前分支运行情况,主分支是正确的分支,当前分支是需要重构的分支,存在 bugs 和性能上的缺陷,这次尝试分析哪里导致了性能缺陷,并尝试修复
对比¶
切换到 remove-metaprogramming 分支,pip install -U . 安装当前分支的 backtrader,运行脚本进行对比
切换到 master 分支,pip install -U . 安装当前分支的 backtrader,运行脚本进行分析
对比相应的结果,分析一下 remove-metaprogramming 分支的代码是否存在问题,并尝试解决
性能的下降很可能是循环用的不对,本来一个 O(n)的循环变成了 O(n^2)的循环.分析是否使用了不必要的循环。