開始使用 cython

什麼是 Cython?

Cython 程式語言通過類似 C 的靜態型別,直接呼叫 C 函式的功能以及其他一些功能來豐富 Python。這允許在仍然使用類似 Python 的語法的同時達到 C 級效能。

它是如何工作的?

使用 cython 源到源編譯器編譯 Cython 程式碼以建立 C 或 C++程式碼,而 C 或 C++程式碼又可以使用 C 編譯器進行編譯。這允許建立可以從 Python 或可執行檔案匯入的擴充套件。

與純 Python 相比,Cython 可以達到的主要效能增益源於繞過 CPython API。例如,當新增兩個整數時,Python 對每個變數執行型別檢查,找到滿足找到的型別的 add 函式,並呼叫該函式。在 Cython 生成的 C 程式碼中,型別已經知道並且只進行了一次函式呼叫。因此,Cython 尤其適用於型別清晰的數學問題。

如何使用它來加速我的程式碼?

在嘗試使用 Cython 加速程式時,一個常見的用例是分析程式碼並將計算成本高昂的部分移動到已編譯的 Cython 模組。這允許保留大部分程式碼的 Python 語法,並在最需要的地方應用加速。