簡體   English   中英

C與C中Python擴展的速度

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM