2012-09-05 4 views
5

私はBoost Pythonを試しているプロジェクトに取り組んでいます。私のpythonインターフェイスを整理する方法を調べると、私はcommentに突き当たりました。それは、boost pythonでパフォーマンスの問題があると主張しました。パフォーマンスに実際の懸念はありますか?Boost Pythonの性能

私は大きなプロジェクトを扱っており、その一部をPythonに公開したいと考えています。私はそれが私がすでに持っているクラスを公開することが容易になりますが、Pythonを高めることがわかっています。ですから、私はクラスを公開するboost pythonのメソッドを利用するのが簡単です。誰かが、使用するのと同じくらい簡単で、演奏力のある選択肢を持っていない限り。

答えて

2

大規模なコンピュータビジョンライブラリを他の分野の研究者向けに構成可能なソフトウェアパッケージに統合するために、boost :: pythonを使用しています。私たちは懸念や問題を知りませんでした。しかし、私たちは最近比較テストを行っていませんでした。

2

あなたのユースケースでは、タイトループでPythonとC++の間で多くのコールを行き来する必要がある場合、Boost.Pythonは少なくともPython C-APIを使用するハンドリングラッパー直接。 SWIGのように、ユーザーフレンドリーなものよりも悪いことが起こるかどうかを推測するのはずっと難しいことです。

しかし、最大のパフォーマンス上の問題は、このような前後を避けることができるかどうかです.C++/Pythonのバリアを繰り返し渡すことを避けることができるAPIは、通常、ライブラリやラッパーツールあなたが使う。たいていの場合、PythonからC++にループを移動し、Pythonのコールバック、特にそれらのループ内のPythonからC++への型変換を避けることを意味します。

関連する問題