溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

讓python效率變得更快的方法

發(fā)布時(shí)間:2020-08-10 14:08:59 來(lái)源:億速云 閱讀:108 作者:小新 欄目:編程語(yǔ)言

讓python效率變得更快的方法?這個(gè)問(wèn)題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見(jiàn)到的。希望通過(guò)這個(gè)問(wèn)題能讓你收獲頗深。下面是小編給大家?guī)?lái)的參考內(nèi)容,讓我們一起來(lái)看看吧!

Python和其他腳本語(yǔ)言通常會(huì)被摒棄,因?yàn)樗鼈兿鄬?duì)于一些類似于C語(yǔ)言的編譯型的語(yǔ)言來(lái)說(shuō)效率很低。比如下面的斐波納契數(shù)的例子:

C語(yǔ)言中:

int fib(int n){
   if (n < 2)
     return n;
   else
     return fib(n - 1) + fib(n - 2);
}
int main() {
    fib(40);
    return 0;

Python中:

def fib(n):
  if n <2:
     return n
  else:
     return fib(n- 1)+ fib(n- 2)
fib(40)

下面是它們各自的執(zhí)行時(shí)間:

$time ./fib
3.099s
  
$time python fib.py
16.655s

和預(yù)期的一樣,在這個(gè)例子中C語(yǔ)言的執(zhí)行效率要比Python快5倍。

在網(wǎng)絡(luò)抓取的情況下,執(zhí)行速度并不是很重要因?yàn)槠款i在于I/O - 下載web頁(yè)面。但是我在其他環(huán)境也想使用Python,所以我們來(lái)看一下怎么樣提高python的執(zhí)行速度。(更多精彩內(nèi)容,請(qǐng)點(diǎn)擊億速云)

首先我們來(lái)安裝一個(gè)python模塊:psyco,安裝非常簡(jiǎn)單,只需要執(zhí)行如下命令:

sudo apt-getinstall python-psyco

或者你是在centos的話,執(zhí)行:

sudo yuminstall python-psyco

然后我們來(lái)驗(yàn)證一下:

#引入psyco模塊,author: www.pythontab.com
import psyco
psyco.full()
def fib(n):
  if n <2:
     return n
  else:
     return fib(n- 1)+ fib(n- 2)
fib(40)

哈哈,見(jiàn)證奇跡的時(shí)刻!!

$time python fib.py
3.190s

僅用了3秒,使用psyco模塊后python的運(yùn)行速度和C不相上下!

現(xiàn)在我?guī)缀醮蟛糠謕ython代碼都會(huì)加上如下代碼,享受psyco所帶來(lái)的速度提升。

try:
    import psyco
    psyco.full()
except ImportError:
    pass # psyco not installed so continue as usual

感謝各位的閱讀!看完上述內(nèi)容,你們對(duì)讓python效率變得更快的方法大概了解了嗎?希望文章內(nèi)容對(duì)大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI