4

Pythonでパフォーマンスに敏感なアプリケーションを作成したいので、PyPyで実行するのが自然な選択です。ただし、私のコードの大部分は、numpy、scipy、およびscikit-learnに依存しています。配列指向のコードを呼び出すために、実行中のPyPyプログラム内にCPythonインスタンスを埋め込むことは可能でしょうか?そうでない場合、PyPyとCPythonを相互に通信させる最も簡単な方法は何ですか?

4

2 に答える 2

4

当面の最善の策は、PyPy ではなくCythonです。型宣言を追加すると、c レベルのパフォーマンスが得られ、numpy などとの優れた統合が実現します。

現在、人々は PyPy でうまく動作するように取り組んでいますが、それはまだ先の話です。

于 2011-10-19T16:56:35.320 に答える
2

いいえ、CPython を PyPy AFAIK 内に埋め込むことはできません。ただし、分散/並列実行システムを使用して、PyPy を CPython と通信させることができます。execnetPyroの両方が、この正確なPyPy <-> CPython使用例について言及しています。Python Wiki のParallel Processingページの他のパッケージもおそらく適切です。

また、delnan が言及しているように、PyPy で Numpy を実装するという PyPy 開発者の計画についての現在の議論があります (これには、scipy のサポートと、これまでのところ scikit.learn は含まれていません)。

于 2011-10-19T22:27:31.497 に答える