基于Numba提高python運(yùn)行效率過程解析
Numba是Python的即時(shí)編譯器,在使用NumPy數(shù)組和函數(shù)以及循環(huán)的代碼上效果最佳。使用Numba的最常見方法是通過其裝飾器集合,這些裝飾器可應(yīng)用于您的函數(shù)以指示Numba對(duì)其進(jìn)行編譯。調(diào)用Numba裝飾函數(shù)時(shí),它會(huì)被“即時(shí)”編譯為機(jī)器代碼以執(zhí)行,并且您的全部或部分代碼隨后可以本機(jī)機(jī)器速度運(yùn)行!
安裝numba(我在這里加了--default-timeout=10000,防止安裝時(shí)出現(xiàn)timeout的錯(cuò)誤)
pip --default-timeout=10000 install -U numba
from numba import jit import time def add(x): he=0 for i in range(x): he+=i return he start=time.time() res=add(100000000) print(res) end=time.time() print(end-start)
耗時(shí)5s 4999999950000000 5.707650184631348
使用Numba的JIT裝飾器@jit,以嘗試加快某些功能的運(yùn)行速度
from numba import jit import time @jit def add(x): he=0 for i in range(x): he+=i return he start=time.time() res=add(100000000) print(res) end=time.time() print(end-start)
耗時(shí)0.14s,快了近40倍 4999999950000000 0.14488554000854492
看吧,快了40倍!
numba僅對(duì)numpy,for和while循環(huán)有效!
參考numba官網(wǎng):http://numba.pydata.org/numba-doc/latest/developer/inlining.html#example-using-numba-jit
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python語言描述機(jī)器學(xué)習(xí)之Logistic回歸算法
這篇文章主要介紹了Python語言描述機(jī)器學(xué)習(xí)之Logistic回歸算法,涉及Sigmoid函數(shù),梯度上升法等相關(guān)內(nèi)容,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t e
這篇文章主要給大家介紹了關(guān)于執(zhí)行python manage.py migrate時(shí)報(bào)錯(cuò):django.db.utils.ProgrammingError: (1146, "Table 'test.model_student' doesn't exist" )問題的解決方法,文中將解決的方法介紹的非常詳細(xì),需要的朋友可以參考下2018-07-07pycharm: 恢復(fù)(reset) 誤刪文件的方法
今天小編就為大家分享一篇pycharm: 恢復(fù)(reset) 誤刪文件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-10-10Python常見MongoDB數(shù)據(jù)庫(kù)操作實(shí)例總結(jié)
這篇文章主要介紹了Python常見MongoDB數(shù)據(jù)庫(kù)操作,結(jié)合實(shí)例形式詳細(xì)總結(jié)了Python針對(duì)MongoDB數(shù)據(jù)庫(kù)相關(guān)pymongo庫(kù)安裝以及MongoDB數(shù)據(jù)庫(kù)的增刪改查等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-07-07基于本地知識(shí)的問答機(jī)器人langchain-ChatGLM 大語言模型實(shí)現(xiàn)方法詳解
這篇文章主要介紹了基于本地知識(shí)的問答機(jī)器人langchain-ChatGLM 大語言模型實(shí)現(xiàn)方法,結(jié)合具體實(shí)例形式詳細(xì)分析了langchain-ChatGLM的功能、原理、部署方法與操作注意事項(xiàng),需要的朋友可以參考下2023-07-07python中溫度單位轉(zhuǎn)換的實(shí)例方法
在本篇文章里小編給大家整理關(guān)于python中溫度單位轉(zhuǎn)換的實(shí)例方法,有需要的朋友們可以學(xué)習(xí)參考下。2020-12-12