您好,登錄后才能下訂單哦!
1. Cython是什么?
Cython是一個編程語言,它通過類似Python的語法來編寫C擴展并可以被Python調用.既具備了Python快速開發的特點,又可以讓代碼運行起來像C一樣快,同時還可以方便地調用C library。
2. 如何安裝Cython?
跟大多數的Python庫不同,Cython需要一個C編譯器,在不同的平臺上配置方法也不一樣。
2.1 配置gcc
windows
安裝MingW-w64編譯器:
conda install libpython m2w64-toolchain -c msys2
在Python安裝路徑下找到\Lib\distutils文件夾,創建distutils.cfg寫入如下內容:
macOS
安裝XCode即可
linux:gcc一般都是配置好的,如果沒有就執行這條命令:
sudo apt-get install build-essential
2.2 安裝cython庫
如果沒安裝Anaconda:?pip install cython
如果安裝了Anaconda:?conda install cython
3. 在Jupyter Notebook上使用Cython
首先加載Cython擴展,使用魔術命令?%load_ext Cython
接下來運行Cython代碼,使用魔術命令?%%cython
4. 試試Cython到底有多快
常規Python函數,運行時間559 ns
Cython def函數,聲明一個Python函數,既可以在模塊內調用,也可以在模塊外調用。模塊內運行時間524.2 ns,模塊外運行時間512 ns
Cython cpdef函數,聲明一個C函數和一個Python wrapper,在模塊內被當做C函數調用,在模塊外被.py文件當做Python函數調用。模塊內運行時間43.7 ns,模塊外運行時間81.7 ns
Cython cdef函數,聲明一個C函數,不可以在模塊外被Python調用。模塊內運行時間34.8 ns
4.1 常規Python函數
4.2 Cython def函數
4.3 Cython cpdef函數
4.4 Cython cdef函數
5. 在Cython中使用Python對象
常規Python函數,運行時間549微秒
Python內置函數,運行時間104微秒
Cython函數,運行時間51.6微秒
A?=?list(range(10000))
5.1 常規Python函數
5.2 Python內置函數
%timeit?sum(A)
5.3 Cython函數
6. 在.pyx文件中使用Cython
建立名為example.pyx的文件,鍵入如下代碼
在控制臺使用cythonize命令,將.pyx文件轉為.c文件再編譯為C模塊
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。