[英]Speed of Python Extensions in C vs. C
用C語言編寫的Python擴展模塊比用純Python編寫的等效程序更快。 這些擴展模塊如何與純C編寫的程序進行比較(速度方面)? 用純C編寫的程序是否比同等的Python擴展模塊更快?
這些擴展模塊如何與純C編寫的程序進行比較(速度方面)?
由於Python數據結構之間的轉換 - > C類型,它們稍微慢一些。 忽略這種轉換,實際的C代碼以與普通C函數完全相同的速度運行。
用純C編寫的程序是否比同等的Python擴展模塊更快?
C程序(完全用C編寫)比使用C擴展模塊的Python程序更快。 如果C程序和擴展模塊的編寫具有相同的復雜程度,編碼器技能,算法復雜性等,則C程序每次都會獲勝。 但是,如果您不是C大師並且您正在與高度優化的Python C擴展競爭,那么Python可能會更快。
作為Python擴展不會影響一段代碼的執行速度,除非Python調用它比等效的C慢,並且編譯器不能積極地展開和內聯跨越C /的代碼Python邊界。
也就是說,如果您只是讓Python代碼調用C函數,然后您在該函數中完成所有工作,那么唯一的性能差異將是您在進入C端之前花費的時間。 從那時起,它是原生的C.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.