當前位置:
首頁 > 最新 > Python運行速度居然追上了C語言?那麼Python太完美了!簡直無敵

Python運行速度居然追上了C語言?那麼Python太完美了!簡直無敵

IT行業裡面,很多門外漢應該也都知道,就是運行速度最快的是C,運行很慢的是Python。其實這都不是事,Python運行慢,但是代碼量非常少。幾十行代碼就能做到C幾百行才能做到的東西。當然小編這裡並沒有瞧不起C,C乃是語言中的祖母,只是相對來講打個比方,今天這個小夥子厲害了,他居然運行Python和C一樣快,直接驚呆了!咱們接下來看下!

如何使用Cython

下面的代碼來自Cython文檔:

def f(x): return x**2-xdef integrate_f(a, b, N): s = 0 dx = (b-a)/N for i in range(N): s += f(a+i*dx) return s * dx

這是一個例子,一個不完整的函數的實現。作為純Python代碼,速度很慢,因為Python必須在機器本機數字類型和其內部對象類型之間來迴轉換。

現在考慮相同代碼的Cython版本,並強調Cython的增加:

cdef double f(double x): return x**2-xdef integrate_f(double a, double b, int N): cdef int i cdef double s, x, dx s = 0 dx = (b-a)/N for i in range(N): s += f(a+i*dx) return s * dx

如果我們顯式聲明變數類型,無論是函數參數還是函數體(double,int等)中使用的變數,Cython都會將所有這些轉換成C語言。我們也可以使用cdef關鍵字來定義 儘管這些函數只能被其他的Cython函數調用,而不能被Python腳本調用,但是這些函數主要是用C實現的。小編推薦一個學Python的學習裙【五八八,零九零,九四二】,無論你是大牛還是小白,是想轉行還是想入行都可以來了解一起進步一起學習!裙內有很多乾貨和技術

Cython分析和性能

可以通過分析代碼並親眼目睹瓶頸在哪裡獲得最佳性能。Cython為Python的cProfile模塊提供鉤子,因此可以使用Python自己的分析工具來查看Cython代碼的執行情況。無需在工具組之間切換;可以繼續所熟悉和喜愛的Python世界中工作。

它有助於記住所有情況下,Cython不是魔術,仍然適用明智的現實世界的表現實踐。在Python和Cython之間來回穿梭越少,你的應用運行得越快。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Python 的精彩文章:

day02.Linux、編輯器、伺服器Python教程
mac上文字識別

TAG:Python |