python高效能擴充套件工具-cython教程0簡介

image.png
作者簡介
Philip Herron是一位專注於編譯器和虛擬機器實現的開發人員。當他第一次被Google Summer of Code 2010錄取時,他利用Paul Biggar博士的靈感來優化動態語言,以開發GCC前端編譯Python的POC。該專案引發了他對Python如何工作的濃厚興趣。
在2011年完成同一專案的一年後,Philip在Python基礎上申請了Cython,以深入瞭解標準的Python實現。通過這種方式,他開始利用Python的優勢來控制系統中的邏輯,甚至新增更多高階介面,例如將Flask Web伺服器嵌入到REST API中,而不需要編寫任何C程式碼。
Philip目前是位於北愛爾蘭的Instil Software的軟體顧問。他使用嵌入式視訊流原生代碼開發移動應用程式。
前言
Cython是編寫Python的本機擴充套件就像在Python中編寫它們一樣簡單。你可以將Python模組實現為純C程式碼,無論出於何種目的,它都會像任何Python程式碼一樣外觀和行為。
編寫本機模組很難,並且需要有關如何正確使用垃圾收集器呼叫的知識,以避免記憶體洩漏。它還需要了解如何使用GIL,CPython和PyPy等的GIL還不同。它還需要了解內部傳遞給Python執行時的模組結構和引數。Cython允許我們編寫和使用本機程式碼,而無需瞭解有關Python執行時的任何資訊。我們可以編寫幾乎純粹的Python程式碼,我們操縱C/C++型別和類。我們可以在本機程式碼和Python程式碼之間來回呼叫。
Cython消除了複雜性和內在性,讓程式設計師專注於解決問題。
內容簡介
- 第1章
Cython Will not Bite,介紹核心概念並演示Cython“HelloWorld”。 討論型別型別轉換。
- 第2章,瞭解Cython
作為整本書的參考。 我們看看自定義C型別和函式指標。 在c中使用Python模組。
- 第3章,擴充套件應用程式
使用Python而不是C/C++的編寫本機Tmux命令。
- 第4章,除錯Cython
使用基於gdb的cygdb除錯Cython程式碼。
- 第5章,高階Cython
Cython如何使用C++類和模板。
- 第6章,延伸
簡要介紹相關專案和有趣的資料來源
面向讀者
本書面向喜歡使用Python的C/C++開發人員和想要實現Python的C/C++擴充套件的Python使用者。您可以展示如何使用Cython開發應用程式,重點是擴充套件現有系統。
擴充套件遺留系統可能很困難,但回報很大。 低階執行緒感知或I/O敏感操作用C實現,用Python處理邏輯。 這種開發模式高效的並且可以很好地節約開發時間。
資源
ofollow,noindex">本書英文版下載 Learning Cython Programming(2nd) - 2016