利用numba 的 @jit 加快 for 循环操作

        最近在做一个matlab脚本转python的工作,但出现问题在,python的执行时间太长,具体表现为matlab 1s左右,python要接近于4s

在这里插入图片描述

        经过简单测试,发现python和matlab的for循环耗时有较大不同

        matlab

在这里插入图片描述

        python

在这里插入图片描述

       

解决办法

        在耗时很长的函数前面加上 @jit(nopython=True)

在这里插入图片描述

        注意使用前记得导入 jit from numba import jit , 没有安装 numba 的记得安装一下, pip install numba,如果出现超时问题请参见 pip安装库总是安不上,一直出错

       

结果

       
在这里插入图片描述

       

作用

        使用 jit 装饰器表明我们希望将该函数转换为机器代码,然后参数 nopython 指定我们希望 Numba 采用纯机器代码,或者有必要的情况加入部分 Python 代码,这个参数必须设置为 True 来得到更好的性能,除非出现错误。

posted on 2021-06-11 09:17  雾恋过往  阅读(610)  评论(0编辑  收藏  举报

Live2D