メモ: multiprocessingを使うまで

概要

・並列処理が可能なMultiprocessingモジュールの使い方をメモる

Pythonコード

cpu_count()でコア数を取得できる。コア数4で計算。
apply_async()でタスクを渡して、get()で実行結果を取得する。
asyncという名前が付いているように、終わり次第その結果を取得するようだ。ただしget()で結果を抽出するとタスクを渡している順番に結果が帰ってきてるように見える。

実行結果

ということで5.97秒の処理が3.23秒に短縮されている。

参考

Parallel Programming in Python
http://sebastianraschka.com/Articles/2014_multiprocessing_intro.html

Pythonのmultiprocessing.PoolでExceptionを受け取る – conta’s diary
http://conta.hatenablog.com/entry/2013/12/20/231430