numba提升python運行速度的實例方法
大傢都知道Python運行速度很慢,但是輪子多,因此用戶十分廣泛,在各種領域上都能用到Python,但是最頭疼的還是,解決運行速度問題,因此這裡給大傢介紹的是numba,是基本是等於再造語言。但是支持的numpy函數並不多。要讓能jit的函數多起來才行。下面就詳細介紹使用numba提升python運行速度方法。
numba簡介:
能夠實現將python函數編譯為機器代碼,提高運行速度。
工作作用:
給python換一種編譯器
使用numba:
1、導入numba及其編譯器
import numpy as np import numba from numba import jit
2、傳入numba裝飾器jit,編寫函數
@jit(nopython=True) def go_fast(a): trace = 0 for i in range(a.shape[0]): trace += np.tanh(a[i, i]) return a + trace
3、函數傳入實參
x = np.arange(100).reshape(10, 10) go_fast(x)
4、加速的函數執行時間
% timeit go_fast(x)
知識點擴展:
numba適合科學計算
numpy是為面向numpy數組的計算任務而設計的。
在面向數組的計算任務中,數據並行性對於像GPU這樣的加速器是很自然的。Numba瞭解NumPy數組類型,並使用它們生成高效的編譯代碼,用於在GPU或多核CPU上執行。特殊裝飾器還可以創建函數,像numpy函數那樣在numpy數組上廣播。
什麼情況下使用numba呢?
- 使用numpy數組做大量科學計算時
- 使用for循環時
到此這篇關於numba提升python運行速度的實例方法的文章就介紹到這瞭,更多相關如何使用numba提升python運行速度內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 利用Numba與Cython結合提升python運行效率詳解
- 隻需要這一行代碼就能讓python計算速度提高十倍
- 如何在向量化NumPy數組上進行移動窗口
- Python NumPy教程之數組的創建詳解
- python中的Numpy二維數組遍歷與二維數組切片後遍歷效率比較