基於Numba提高python執行效率過程解析

2022-10-04 14:48:24 字數 1110 閱讀 6688

numba是python的即時編譯器,在使用numpy陣列和函式以及迴圈的**上效果最佳。使用numba的最常見方法是通過其裝飾器集合,這些裝飾器可應用於您的函式以指示numba對其進行編譯。呼叫numba裝飾函式時,它會被「即時」編譯為機器**以執行,並且您的全部或程式設計客棧部分**隨後可以本機機器速度執行!

安裝numba(我在這裡加了--default-timeout=10000,防止安裝時出現timeout的錯誤)

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)

printwww.cppcns.com(res)

end=time.time()

print(end-start)

耗時5s

4999999950000000

5.707650184631348

使用numba的jit裝飾器@jit,以嘗試加快某些功能的執行速度

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)

耗時0.14s,快了近40倍

4999程式設計客棧999950000000

0.14488554000854492

看吧,快了40倍!

numba僅對numpy,for和while迴圈有效!

參考numba官網:

本文標題: 基於numba提高python執行效率過程解析

本文位址:

numba 利用numba加速python

importtime fromnumpyimportarange fromnumbaimportjit jit defz num 2147483647 質數大於 1 ifnum 1 檢視因子 foriinrange 2,num if num i 0 print num,不是質數 print i,乘於...

python加速模組 numba

numba的使用比較簡單,它不需要更換python的直譯器,只需要將numba的裝飾器寫在python方法上,當這個帶有numba裝飾器的方法被呼叫時,就會被just in time即時編譯為機器 然後執行。使用numba之前,我們需要安裝這個庫 trusted host mirrors.aliyu...

使用numba加速python程式

前面說過使用cython來加速python程式的執行速度,但是相對來說程式改動較大,這次就說一種簡單的方式來加速python計算速度的方法,就是使用numba庫來進行,numba庫可以使用jit技術即時編譯,達到高效能,另外也可以使用cuda gpu的計算能力來加速,對python來說是乙個提速非常...