国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

Python下使用Psyco模塊優(yōu)化運(yùn)行速度

2019-11-25 17:50:38
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

今天介紹下Psyco模塊,Psyco模塊可以使你的Python程序運(yùn)行的像C語(yǔ)言一樣快。
都說(shuō)Python語(yǔ)言易用易學(xué),但性能上跟一些編譯語(yǔ)言(如C語(yǔ)言)比較要差不少,這里可以用C語(yǔ)言和Python語(yǔ)言各編寫斐波納契數(shù)列計(jì)算程序,并計(jì)算運(yùn)行時(shí)間:

C語(yǔ)言程序

復(fù)制代碼 代碼如下:

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

Python寫的
復(fù)制代碼 代碼如下:

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

運(yùn)行時(shí)間
復(fù)制代碼 代碼如下:

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

可以看到運(yùn)行時(shí)間還是有點(diǎn)差距的,這里的差距大概是5倍左右,現(xiàn)在就介紹Psyco:

Psyco 是 Python 語(yǔ)言的一個(gè)擴(kuò)展模塊,可以即時(shí)對(duì)程序代碼進(jìn)行專業(yè)的算法優(yōu)化,可以在一定程度上提高程序的執(zhí)行速度,尤其是在程序中有大量循環(huán)操作時(shí)。最早被 Armin Rigo 開發(fā),后來(lái)由 Christian Tismer 維護(hù)并繼續(xù)完善。

Psyco 可以在 32位元 的 GNU/Linux、BSD、Mac OS X、Microsoft Windows 平臺(tái)上運(yùn)行。Psyco 使用 C語(yǔ)言 編寫,只針對(duì)32位元平臺(tái)進(jìn)行了編碼。目前開發(fā)工作已經(jīng)停止,由 PyPy 所接替,同時(shí) PyPy 也提供針對(duì) 64位元 系統(tǒng)的支持。Psyco 可以在 Python解釋器 編譯代碼時(shí)自動(dòng)優(yōu)化,將其使用C實(shí)現(xiàn),并針對(duì)循環(huán)操作進(jìn)行一些特殊的優(yōu)化。經(jīng)過(guò)這些優(yōu)化,程序的性能將會(huì)得到提升,在跨平臺(tái)環(huán)境下尤為明顯。

安裝Psyco

復(fù)制代碼 代碼如下:

sudo apt-get install python-psyco

或者到官網(wǎng)上下載安裝包,使用easy install安裝即可。

使用Psyco模塊

復(fù)制代碼 代碼如下:

import psyco
psyco.full()
 
def fib(n):
  if n < 2:
     return n
  else:
     return fib(n - 1) + fib(n - 2)
fib(40)

運(yùn)行結(jié)果

復(fù)制代碼 代碼如下:

$ time python fib.py 
3.190s

改善你的代碼

現(xiàn)在將我大部分 Python 代碼加上下列腳本來(lái)利用 Psyco 提升運(yùn)行速度:

復(fù)制代碼 代碼如下:

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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 南和县| 金门县| 甘洛县| 江源县| 建阳市| 华宁县| 上思县| 绍兴县| 施秉县| 凤阳县| 嘉禾县| 楚雄市| 西盟| 石家庄市| 莱芜市| 缙云县| 尤溪县| 台安县| 格尔木市| 玉田县| 武威市| 平武县| 台前县| 门源| 邻水| 称多县| 南漳县| 综艺| 开平市| 临西县| 河间市| 万年县| 玉树县| 红原县| 皮山县| 绥芬河市| 马龙县| 丹棱县| 珲春市| 游戏| 南安市|