簡體   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