由於python有很多種編寫二進制模塊的方法,所以如果我希望改進某些段的性能,代碼儘可能多。擴展python/numpy性能的最佳方法
據我所知,可以使用python/numpy C-api編寫擴展,或者包裝一些已經編寫的純C/C++/Fortran函數,以從python代碼中調用。
當然,像Cython這樣的工具是最簡單的方法,但我認爲用手寫代碼可以提供更好的控制並提供更好的性能。
這個問題,它可能是一般的,是使用哪種方法。編寫一個C或C++擴展?包裝外部C/C++函數或使用回調python函數?
我寫這個問題在Langtangen的「Python腳本爲計算科學」裏有幾種方法進行了比較,以Python和C.
寫得很好的Cython應該可以提供近乎C的性能,而且比使用手寫C擴展更少的代碼。 – 2012-04-27 14:21:09