利用numba 的 @jit 加快 for 迴圈操作
阿新 • • 發佈:2021-06-11
最近在做一個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 來得到更好的效能,除非出現錯誤。