2015-12-25 59 views
1

性能在這裏真的很關鍵。我有一些C函數用於數字任務,雙輸入和雙輸出。我正在尋找一種調用這些函數並檢索結果的高效方法。什麼是最快的解決方案?從Python調用C函數的最快方法

許多解決方案存在,如ctypes的,痛飲等一些工具,例如,痛飲,多年來顯著發展,從而更新的信息會有所幫助。迄今爲止,從性能角度來看,從Python腳本調用現有C代碼的最佳解決方案是什麼?

編輯]此問題與question有關,但與此不同。如上所述,我正在尋求更新的信息,而這篇文章的日期是2008年。另外,這篇文章是關於節省開發人員時間的最快方法,而不是我在這裏要求的應用程序性能。

+0

[從蟒調用C/C++?](的可能的複製http://stackoverflow.com/questions/145270/calling-cc-from一個很好的方式-python) –

+0

謝謝。這個職位是在2008年我相信。另外,這篇文章是關於節省開發人員時間的最快捷方式,而不是應用程序性能。 – zell

+0

通過ctypes調用C庫函數非常快。從C中構建Python浮點數有點慢,因此請將中間結果保存爲C形式。 –

回答

2

我會考慮writing a C extension module

這種方式,你可以保持在C最關鍵的部分,可以讓編譯器儘可能地優化你的代碼,你能避免將某些值Python對象。

Cython是用於寫入C擴展,而無需使用C.