1
爲njob> 1(njob = 2需要12.6s完成)花費更多時間的Joblib比njob = 1(1.3s完成)需要更多時間。我在Mac OSX 10.9中使用16GB RAM。我是否犯了一些錯誤?下面是一個簡單的演示代碼:joblib並行計算時間
from joblib import Parallel, delayed
def func():
for i in range(200):
for j in range(300):
yield i, j
def evaluate(x):
i=x[0]
j=x[1]
p=i*j
return p, i, j
if __name__ == '__main__':
results = Parallel(n_jobs=3, verbose=2)(delayed(evaluate)(x) for x in func())
res, i, j = zip(*results)
另請參閱:http://stackoverflow.com/questions/21027477/joblib-parallel-multiple-cpus-slower-than-single 已經給出了這個問題的全面答案。 –