numba,让python速度提升百倍
参考原文 https://www.cnblogs.com/zhuwjwh/p/11401215.html
python由于它动态解释性语言的特性,跑起代码来相比java、c++要慢很多,尤其在做科学计算的时候,十亿百亿级别的运算,让python的这种劣势更加凸显。
什么是numba?
numba是一款可以将python函数编译为机器代码的JIT编译器,经过numba编译的python代码(仅限数组运算),其运行速度可以接近C或FORTRAN语言。
使用numba非常简单,只需要将numba装饰器应用到python函数中,无需改动原本的python代码,numba会自动完成剩余的工作。
import numpy as np
import numba
from numba import jit
@jit(nopython=True) # jit,numba装饰器中的一种
def go_fast(a): # 首次调用时,函数被编译为机器代码
trace = 0
# 假设输入变量是numpy数组
for i in range(a.shape[0]): # Numba 擅长处理循环
trace += np.tanh(a[i, i])
return</

Numba是一款JIT编译器,能够将Python函数编译为机器代码,显著提升运行速度,尤其在处理numpy数组和for循环时。通过@jit(nopython=True)装饰器,代码性能可接近C或FORTRAN。Numba适用于大规模科学计算和数组操作,对于优化numpy数组的计算任务非常有效。尽管Numba不适用于所有Python代码,但对于提升for循环效率,速度可提升数十甚至数百倍。
最低0.47元/天 解锁文章
3万+

被折叠的 条评论
为什么被折叠?



