您好,登錄后才能下訂單哦!
小編給大家分享一下Cython是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
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寫入如下內容:
[build] compiler=mingw32
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
%load_ext Cython
%%cython
# 對1——100的自然數進行求和
total = 0
for i in range(1, 101):
total += i
print(total)
5050
4. 試試Cython到底有多快
Python函數,運行時間261 ns
Cython函數,運行時間44.1 ns
運行時間竟然只有原來的五分之一左右,秘訣就在于參數x使用了靜態類型int,避免了類型檢查的耗時。
4.1 Python函數
def f(x):
return x ** 2 - x
%timeit f(100)
261 ns ± 8.78 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
4.2 Cython函數
%%cython
def g(int x):
return x ** 2 - x
%timeit g(100)
44.1 ns ± 1.09 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
以上是“Cython是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。