在我的Python代码中,为什么并行比普通代码慢?

在我的Python代码中,为什么并行比普通代码慢?,python,Python,我想用Python测试并行代码,所以我编写了以下代码 __author__ = 'Zir' import numpy as np from joblib import Parallel, delayed import time def f(x): h = np.random.rand() return x + h if __name__ == '__main__': s1 = time.time() y = Parallel(n_jobs=3)(delayed

我想用Python测试并行代码,所以我编写了以下代码

__author__ = 'Zir'
import numpy as np
from joblib import Parallel, delayed
import time

def f(x):
    h = np.random.rand()
    return x + h

if __name__ == '__main__':
    s1 = time.time()
    y = Parallel(n_jobs=3)(delayed(f)(x) for x in range(100000))
    e1 = time.time() - s1
    s2 = time.time()
    y = []
    for x in range(100000):
        y.append(f(x))
    e2 = time.time() - s2
    print e1, e2

输出是这样的:
4.08599996567 0.069993932428
,表示for循环快得多。为什么?

您是否尝试过花费更多时间的f?@Kira:创建流程会带来开销。函数越简单,开销就越有可能超过实际计算函数的成本。