修复问题:

目前 remove-metaprogramming 分支代码运行 pytest tests -n 12 的时候使用的时间似乎比 master 版本多了很多

尝试分析并解决 remove-metaprogramming 分支性能上的缺陷问题。

对比目的

分析一下主分支和当前分支运行情况,主分支是正确的分支,当前分支是需要重构的分支,存在 bugs 和性能上的缺陷,这次尝试分析哪里导致了性能缺陷,并尝试修复

对比

  1. 切换到 remove-metaprogramming 分支,pip install -U . 安装当前分支的 backtrader,运行脚本进行对比

  2. 切换到 master 分支,pip install -U . 安装当前分支的 backtrader,运行脚本进行分析

  3. 对比相应的结果,分析一下 remove-metaprogramming 分支的代码是否存在问题,并尝试解决

  4. 性能的下降很可能是循环用的不对,本来一个 O(n)的循环变成了 O(n^2)的循环.分析是否使用了不必要的循环。