利用 psyco 讓 Python 程式執行更快

2021-09-06 07:42:02 字數 2720 閱讀 4054

python 和其他的指令碼語言在效能上跟一些編譯語言(如c語言)比較要差不少,例如這裡有兩個用 c 和 python 語言編寫的斐波納契數列計算程式:

c語言:

01intfib(intn)

07

08intmain()

python語言:

1deffib(n):

2ifn <2:

3returnn

4else:

5returnfib(n-1)+fib(n-2)

6fib(40)

下面是執行的時間比較:

1$time./fib

23.099s

3$timepython fib.py

416.655s

正如我們說預想的,c 程式比 python 要快很多,在我們這個例子中要快 5 倍之多。

儘管在 web 環境中,指令執行的速度並不重要,因為瓶頸是在 i/o 上。但我也同時在其他地方使用 python ,因此讓我們來看看如何優化 python 程式的執行速度。

首先需要安裝 psyco,在 linux 下可以這樣:

1sudoapt-getinstallpython-psyco

然後修改 python 指令碼來呼叫 psyco:

1importpsyco

2psyco.full()

3

4deffib(n):

5ifn <2:

6returnn

7else:

8returnfib(n-1)+fib(n-2)

9fib(40)

再次執行的時間是:

1$timepython fib.py

23.190s

只需要 3 秒鐘,使用 psyco 後 python 的執行速度居然跟 c 語言相差無幾。psyco 通過即時編譯**避免逐行解釋執行來提公升執行速度的。

現在將我大部分 python **加上下列指令碼來利用 psyco 提公升執行速度:

view source

print?

1try:

2importpsyco

3psyco.full()

4exceptimporterror:

5pass# psyco not installed so continue as usual

python優化模組psyco

1.psyco psyco是乙個pvm的增強工具,這個工具收集並使用資訊,在程式執行時,可以將程式的位元組碼轉化為底層的真正的二進位制機器 從而實現更快的執行速度。在開發過程中,psyco無需 的修改和獨立的編譯步驟可完成這一轉換。概況的講,當程式進行執行時,psyco收集正在傳遞過程中的物件的類別...

使用psyco來加速python程式

最近在寫乙個python的 由於要處理大量的迴圈語句,導致整個程式執行起來顯得很吃力,所以想試試psyco這個模組。使用方法 1 在自己的python 中加入import psyco psyco.full psyco.full 是對所有的函式都編譯,但是記憶體開銷也隨之增加不少,在我的專案中測試發現...

利用shell指令碼自動執行python程式

shell 是乙個用 c 語言編寫的程式,它是使用者使用 linux 的橋梁。shell 既是一種命令語言,又是一種程式語言.shell 是指一種應用程式,這個應用程式提供了乙個介面,使用者通過這個介面訪問作業系統核心的服務.shell 指令碼 shell script 是一種為 shell 編寫的...