1. 程式人生 > 其它 >利用numba 的 @jit 加快 for 迴圈操作

利用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 來得到更好的效能,除非出現錯誤。