並行化 Python 循環以提高效率
在 Python 中,並行化循環可以顯著提高 CPU 密集型任務的效能。要並行化提供的循環(使用calc_stuff 函數計算值並將結果累積在單獨的列表中),有兩種有效的方法:
方法1:多處理
由於對於Python 的全域解釋器鎖定(GIL),使用多執行緒不會為CPU 密集型任務帶來好處。相反,多處理是更合適的選擇。
使用多處理模組,您可以建立具有多個工作進程的進程池,如下所示:
map 函數傳送每個專案在工作進程的範圍迭代器中,收集回傳的結果,並將它們解壓縮到out1、out2 和out3 中
方法2:Concurrent.futures Python 3.2
並行化循環的另一個方便的選項是使用Concurrent.futures 模組,它提供了一個優化的介面來使用執行緒和進程池:
此方法在幕後使用進程池,其行為與多處理方法類似。
兩種方法都允許在不同輸入上並行執行 calc_stuff 函數,從而加快 CPU 密集型循環的執行時間。
以上是如何並行化 Python 循環以提高效率?的詳細內容。更多資訊請關注PHP中文網其他相關文章!