我正在做一個項目,我正在試驗boost python。在研究如何組織我的Python界面時,我遇到了一個comment,它聲稱在boost python中存在性能問題。是否有任何實際的關注它的表現?Boost Python的性能
在這種情況下,我正在處理一個大型項目,我們希望將它暴露給python。我發現增強python可以很容易地暴露我已經擁有的類。所以我寧願堅持使用boost python的暴露類的方法,因爲它很容易。除非有人有一個易於使用和高性能的替代方案。
我正在做一個項目,我正在試驗boost python。在研究如何組織我的Python界面時,我遇到了一個comment,它聲稱在boost python中存在性能問題。是否有任何實際的關注它的表現?Boost Python的性能
在這種情況下,我正在處理一個大型項目,我們希望將它暴露給python。我發現增強python可以很容易地暴露我已經擁有的類。所以我寧願堅持使用boost python的暴露類的方法,因爲它很容易。除非有人有一個易於使用和高性能的替代方案。
我們使用boost :: python將大型計算機視覺庫集成到其他領域研究人員的高度可配置軟件包中。我們沒有遇到疑慮,也沒有遇到問題。但是,我們最近沒有做任何比較測試。
如果您的用例需要大量Python和C++之間的緊密循環調用,那麼Boost.Python可能是一個性能問題,至少與使用Python C-API的手動包裝相關直。猜測它是否會比類似用戶友好的類似SWIG更糟糕。
但是最大的性能問題是您是否可以避免這種來回 - 可以避免重複跨越C++/Python屏障的API通常總是比執行的更好,無論使用哪種庫或包裝工具你用。大多數情況下,這意味着將循環從Python移動到C++,並避免Python回調,尤其是那些循環內的Python到C++類型的轉換。