まだPython2.7で消耗している
from time import sleep import timeit import joblib from joblib import Parallel, delayed def heavy_square_task(x, y, z): sleep(3) return x**2p # print ([heavy_square_task(x, y, z) for x, y, z in [(1, 2, 3), (2, 2, 3), (3, 2, 3), (4, 2, 3)]]) # almost 12s print (joblib.Parallel(n_jobs=4)([delayed(heavy_square_task)(x, y, z) for x, y, z in [(1, 2, 3), (2, 2, 3), (3, 2, 3), (4, 2, 3)]])) # almost 3s
https://joblib.readthedocs.io/en/latest/parallel.html
この記事のプログラムを再構築したけど、delayedは明示的によびださないといけないぽ Python: Joblibで並列処理プログラミング - け日記