Skip to Main Content
高效能PYTHON程式設計
book

高效能PYTHON程式設計

by Micha Gorelick, Ian Ozsvald
August 2015
Intermediate to advanced content levelIntermediate to advanced
384 pages
7h 42m
Chinese
GoTop Information, Inc.
Content preview from 高效能PYTHON程式設計
148
|
第七章
如果你不知道哪幾行最常被執行,就使用效能分析工具—
line_pro
fi
ler
(參見第 37 頁的〈使用 line_profiler 進行一行一行的量測〉)是最合適
的,你將瞭解哪幾行最常被執行,以及哪幾行在 Python 虛擬機器裡耗費
最多成本,因此,你能夠掌握必須將焦點放在哪裡,才能夠獲得最大的效
能提升。
增加一些型別注釋
7-2 顯示,我們的函式幾乎每一行都在呼叫 Python 虛擬機器。使用較高階的 Python
物件時,我們的所有數值運算也都在呼叫 Python。我們必須把這些都轉換成本地 C
件,然後,在處理過我們的數值編程之後,必須將結果轉換回 Python 物件。
在範例 7-6 中,可以看到如何使用
cdef
語法增加一些基本型別(primitive type)。
注意,這些型別只有 Cython 理解,Python
瞭解。Cython 利用這些
型別將 Python 程式碼轉換成 C 物件,這些物件不必回頭呼叫 Python
疊;這表示,操作執行得比較快,但會失去彈性,並且損及開發速度。
我們增加的型別有︰
int
,有號整數
unsigned
int
,無號整數,不能是負數
double
complex
,雙精度複數
cdef
關鍵字讓我們在函式主體裡宣告變數,這些變數必須被宣告在函式頂端,因為那是
C 語言規格的要求。
範例
7-6 
增加基本
C
型別
透過多用
C
做一些工作
少經由
Python
虛擬機器
開始讓編譯的函式執行得更迅速
def calculate_z(int ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

流畅的Python

流畅的Python

Luciano Ramalho
手把手教会你linux

手把手教会你linux

桑德.范.乌格特

Publisher Resources

ISBN: 9789863477105