numba提升python運行速度的實例方法
大家都知道Python運行速度很慢,但是輪子多,因此用戶十分廣泛,在各種領(lǐng)域上都能用到Python,但是最頭疼的還是,解決運行速度問題,因此這里給大家介紹的是numba,是基本是等于再造語言。但是支持的numpy函數(shù)并不多。要讓能jit的函數(shù)多起來才行。下面就詳細介紹使用numba提升python運行速度方法。
numba簡介:
能夠?qū)崿F(xiàn)將python函數(shù)編譯為機器代碼,提高運行速度。
工作作用:
給python換一種編譯器
使用numba:
1、導(dǎo)入numba及其編譯器
import numpy as npimport numba from numba import jit
2、傳入numba裝飾器jit,編寫函數(shù)
@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、函數(shù)傳入實參
x = np.arange(100).reshape(10, 10) go_fast(x)
4、加速的函數(shù)執(zhí)行時間
% timeit go_fast(x)
知識點擴展:
numba適合科學(xué)計算
numpy是為面向numpy數(shù)組的計算任務(wù)而設(shè)計的。
在面向數(shù)組的計算任務(wù)中,數(shù)據(jù)并行性對于像GPU這樣的加速器是很自然的。Numba了解NumPy數(shù)組類型,并使用它們生成高效的編譯代碼,用于在GPU或多核CPU上執(zhí)行。特殊裝飾器還可以創(chuàng)建函數(shù),像numpy函數(shù)那樣在numpy數(shù)組上廣播。
什么情況下使用numba呢?
使用numpy數(shù)組做大量科學(xué)計算時 使用for循環(huán)時到此這篇關(guān)于numba提升python運行速度的實例方法的文章就介紹到這了,更多相關(guān)如何使用numba提升python運行速度內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Python多線程操作之互斥鎖、遞歸鎖、信號量、事件實例詳解2. Python常用GUI框架原理解析匯總3. XML入門的常見問題(一)4. Django程序的優(yōu)化技巧5. Jsp中request的3個基礎(chǔ)實踐6. idea設(shè)置自動導(dǎo)入依賴的方法步驟7. jsp EL表達式詳解8. 怎樣才能用js生成xmldom對象,并且在firefox中也實現(xiàn)xml數(shù)據(jù)島?9. IntelliJ IDEA 統(tǒng)一設(shè)置編碼為utf-8編碼的實現(xiàn)10. django 鏈接多個數(shù)據(jù)庫 并使用原生sql實現(xiàn)
