cython和python分別是什麼?區別有哪些?

老男孩IT教育機構發表於2022-07-22

  從字面上來講,cython和python經常會被混淆在一起,也經常會有人問cython和python區別是什麼?它們之間有什麼關係或聯絡?對此小編特整理了這篇文章,我們一起來看看吧。

  Cython是Python的一個超集,結合了Python的易用性和原生程式碼的速度,可以編譯成C語言,產生的效能提升可以從幾個百分點到幾個數量級,具體取決於手頭的任務。

  使用Cython,你可以避開Python的許多原生限制,或者完全超越Python,而無需放棄Python的簡便性和便捷性。

  Python程式碼可以直接呼叫C模組。這些C模組可以是通用的C庫或專門為Python工作的庫。Cython生成第二種型別的模組:與Python內部對話的C庫,可以與現有的Python程式碼繫結在一起。

  Cython程式碼在設計上看起來很像Python程式碼。如果你給Cython編譯器提供了一個Python程式,它將會按原樣接受它,但是Cython的原生加速器都不會起作用。但是如果你用Cython的特殊語法來修飾Python程式碼,那麼Cython就可以用快速的C代替慢的Python物件。

  請注意,Cython的方法是漸進的。這意味著開發人員可以從現有的Python應用程式開始,透過對程式碼立刻進行更改來加快速度,而不是從頭開始重寫整個應用程式。

  這種方法通常與軟體效能問題的性質相吻合。在大多數程式中,絕大多數CPU密集型程式碼都集中在一些熱點上,也就是帕累託原則的一個版本,也被稱為80/20規則。因此,Python應用程式中的大部分程式碼不需要進行效能最佳化,只需要幾個關鍵部分。你可以逐漸將這些熱點轉換為Cython,從而獲得你最需要的效能提升。程式的其餘部分可以保留在Python中,以方便開發人員。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2907135/,如需轉載,請註明出處,否則將追究法律責任。

相關文章