ちょっと私は基本的にPlayerオブジェクトを持つWorld ObjectであるPythonでいくつかのコードを持っています。ある時点で、プレイヤーはすべて世界の状態を取得し、行動を返す必要があります。プレイヤーが行う計算は独立しており、それぞれのプレイヤーインスタンスのインスタンス変数のみを使用します。最も簡単な方法で呼び出しを並列化できますか?
while True:
#do stuff, calculate state with the actions array of last iteration
for i, player in enumerate(players):
actions[i] = player.get_action(state)
for
ループを並列実行する最も簡単な方法は何ですか?それとも、これは私が想定しているよりも大きな仕事ですか?
「マルチプロセッシング」以外のものはありますか? –
@ IgnacioVazquez-Abrams私はプールオブジェクトとIRC(freenode #python)上のマルチプロセッシングモジュールのマップ機能を使用することについて尋ねました。 – fubal
とにかくあなたのコードが既に動作していて、この点がプロファイリングによるボトルネックであることがわかったら、このパラレル化について心配する必要があります。さもなければ、あなたはまったく必要のないかもしれないものについて早すぎる最適化に苦しんでいるだけです。 – jsbueno