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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章