Pythonでパフォーマンスに敏感なアプリケーションを作成したいので、PyPyで実行するのが自然な選択です。ただし、私のコードの大部分は、numpy、scipy、およびscikit-learnに依存しています。配列指向のコードを呼び出すために、実行中のPyPyプログラム内にCPythonインスタンスを埋め込むことは可能でしょうか?そうでない場合、PyPyとCPythonを相互に通信させる最も簡単な方法は何ですか?
2 に答える
4
当面の最善の策は、PyPy ではなくCythonです。型宣言を追加すると、c レベルのパフォーマンスが得られ、numpy などとの優れた統合が実現します。
現在、人々は PyPy でうまく動作するように取り組んでいますが、それはまだ先の話です。
于 2011-10-19T16:56:35.320 に答える
2
いいえ、CPython を PyPy AFAIK 内に埋め込むことはできません。ただし、分散/並列実行システムを使用して、PyPy を CPython と通信させることができます。execnetとPyroの両方が、この正確なPyPy <-> CPython
使用例について言及しています。Python Wiki のParallel Processingページの他のパッケージもおそらく適切です。
また、delnan が言及しているように、PyPy で Numpy を実装するという PyPy 開発者の計画についての現在の議論があります (これには、scipy のサポートと、これまでのところ scikit.learn は含まれていません)。
于 2011-10-19T22:27:31.497 に答える