31

次の要件を持つプロセス間通信 (IPC) フレームワーク\テクニックとは:

  • 2 つの Python プロセス間でネイティブ Python オブジェクトを転送する
  • 時間と CPU の効率が高い (RAM の効率は関係ありません)
  • クロスプラットフォーム Win\Linux
  • あると便利: PyPyで動作します

更新 1:プロセスは同じホスト上にあり、同じバージョンの Python および他のモジュールを使用します

更新 2:プロセスはユーザーによって独立して実行され、それらのいずれも他のプロセスを生成しません

4

5 に答える 5

20

ネイティブ オブジェクトはプロセス間で共有されません (参照カウントのため)。

代わりに、unix ドメイン ソケット、mmap、zeromq、または同時アクセス用に設計された sqlite3 などの仲介を使用して、それらをピクルして共有できます。

于 2011-10-20T17:51:53.823 に答える
9

まず、マルチプロセッシングを使用します。

複数のCPUが必要な場合は、セロリをご覧ください。

于 2011-10-20T17:40:39.557 に答える
6

execnetPyroの両方が通信について言及してPyPy <-> CPythonいます。Python Wiki のParallel Processingページの他のパッケージもおそらく適切です。

于 2011-10-21T00:58:57.123 に答える
5

Parallel Pythonは一見の価値があるかもしれません。これは Windows、OS X、および Linux で動作します (そして、少し前に UltraSPARC Solaris 10 マシンで使用したことを思い出すようです)。PyPy で動作するかどうかはわかりませんが、 Psyco では動作するようです

于 2011-10-20T18:06:16.573 に答える