Numba使用简介

Numba库使用简介

1.基本用法

  • 1.以非python方式编译
@jit(nopython=True)
  • 2.释放GIL锁
@jit(nogil=True)
@jit(nopython=True, nogil=True)
  • 3.储存编译
@jit(cache=True)
#保存函数编译结果到一个基于文件的缓存中。可以通过传递cache=True实现

2.高级用法

  • 1.编译原生多线程
@jit(nopython=True, parallel=True)
#编译器将编译一个版本,并行运行多个原生的线程(没有GIL)
  • 2.默认非python模式
@njit #这个装饰器与@jit(nopython=True)等价
  • 3.创建Ufunc函数
@vectorize([float64(float64, float64)])
#注意顺序,精度低的在前,高的在后
#其中, float64(float64, float64)]表示数据精度

#示例
@vectorize([int32(int32, int32),
            int64(int64, int64),
            float32(float32, float32),
            float64(float64, float64)])
def f(x, y):
    return x + y

参考链接: https://www.jianshu.com/p/69d9d7e37bc5

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。