繁体   English   中英

为嵌套循环计算实现多处理(python)

[英]Implementing multiprocessing for a nested loop calculation (python)

我正在尝试实现多处理以加快嵌套循环。 以下是发生了什么的伪代码:

result = []
z = []
a1 = array of values
a2 = array of values
for i in range(len(a1)):
    x = a1[i]
        for j in range(len(a2)):
            y = a2[j]
            z.append(function(x,y))
    result.append(max(z))
plot(a1,result)

我是一个新手python用户。 我之前尝试遵循教程时遇到的问题是在实现 multiprocessing.Proceses 时,代码运行功能块但不返回结果数组(或者至少我不知道如何让它返回该数组) . 第二个循环(a2)是最耗时的循环,我希望有人能指导我如何提高计算速度。 谢谢

这类问题正是创建新concurrent.futures模块的原因。

您可以定义您的工作函数,然后通过具有多处理(或多线程,如果更适合)的执行器将其映射到输入数组。

请参阅其中的示例,尤其是ProcessPoolExecutor Example

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM