5

http://docs.python.org/library/multiprocessingを使用して高度に並列化できるタスクでパフォーマンスを向上させるために、Pythonを使用しようとしています。

彼らのライブラリを見るとき、彼らは非常に長い反復可能物にチャンクサイズを使用すると言います。さて、私の反復可能ファイルは長くはありません。それに含まれるdictの1つは巨大です:キーとしてタプルと値のnumpy配列を持つ〜100000エントリ。

これを処理するためにチャンクサイズを設定するにはどうすればよいですか?また、このデータをすばやく転送するにはどうすればよいですか?

ありがとうございました。

4

1 に答える 1

3

一度に複数のワーカーでこの単一の大きなアイテムを処理する唯一の方法は、それを分割することです。multiprocessing作業を単位で分割することで機能しますが、フィードできる最小の単位は1つのオブジェクトです。つまり、1つのオブジェクトを適切な方法で分割する方法を知ることはできません。代わりに、自分でやらなければなりません。作業対象のdictを送信する代わりに、dictをより小さな作業単位に分割し、代わりにそれらを送信します。すべてのデータが相互に依存しているためにdictを分割できない場合は、作業を実際に分割することもできません。

于 2010-04-24T21:41:56.147 に答える