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 已经给出了这个问题的全面答案。 –