首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python多进程池运行较慢?

python多进程池运行较慢?
EN

Stack Overflow用户
提问于 2019-10-15 15:36:53
回答 1查看 65关注 0票数 1

我正在学习用于数值计算的python多处理,这里是我实现的示例代码,我猜问题应该是对map参数的错误使用。

代码语言:javascript
复制
def pow(a):
    c = np.zeros(a.size)
    for i in range(a.size):
        c[i] = a[i] ** a[i]
    return c        

if __name__=='__main__':
    n = int(1e6)

    data = np.random.sample(n)
    pool = mp.Pool(processes=8)
    results = pool.map(pow, data)
    new_res = pow(data)
EN

回答 1

Stack Overflow用户

发布于 2019-10-15 15:56:38

并行计算从来都不是免费的。需要创建新的流程,并且需要在各个流程之间发送结果。与用C编写的循环相比,Python循环很慢,因为您可以在numpy中使用它们。并行计算只能帮助解决无法以其他方式优化的大型问题。您的示例非常简单,与以下示例相比,并行工作不会加速您的问题:

代码语言:javascript
复制
a = np.random.sample(n)
c = a ** a
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58389500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档