在上一篇文章:【85 backtrader-cs因子测试的一些高级技巧】使用numba加速某些函数的计算中,使用了numba改进某些函数,实现加速,在这一篇文章中,尝试接着上一篇文章的主题,继续尝试用cython,c语言和c++尝试改进decayliear函数的计算速度。

结论:

【85 backtrader-cs因子测试的一些高级技巧-2】使用cython、c语言和c++加速某些函数的计算-LMLPHP
从图上似乎可以得到下面几个推论:

  1. 当需要计算的行数比较少的时候,比如10行,100行这种情况下,numba优化的函数消耗的时间是cpp的好几倍,这可能是因为调用numba优化的函数的时候需要一个开销,这个开销比较大。当需要计算的行数比较多的时候,numba优化后的函数开始给力,逐渐能够达到c的速度。
  2. cython的性能略差于c语言写的函数,c语言写的函数和c++写的函数计算速度比较接近。

性能对比代码

import pandas as pd
import numpy as np
import</
06-24 23:20