2016-11-18 145 views
1

我參與了一個最近用python編寫的項目。所有的文件都是一個接一個地串行分析,所以完成大約需要1個小時。我的任務是縮短這個時間。在Python中使用多處理或多線程?

我不知道我應該在python中使用什麼:多線程或多進程並行運行文件分析。

請建議。

謝謝。

+0

正在執行什麼類型的分析?另外,您是否希望並行處理多個文件或並行處理每個文件的多個部分。 – Tankobot

+0

我試圖並行運行多個文件,以便在Google上進行一些研究之後,我可以縮短完成時間,我知道我應該在python中使用「popen」來這麼做。我試圖通過運行一些例子來抓住這個領域。 :) –

回答

1

它很大程度上取決於分析的類型。下面是一個簡單的經驗法則給予提示:

  • 如果這一進程的內存限制,保持它的串行
  • 如果IO相關,使用多線程 - 線程的最佳數量取決於花費的時間百分比在IO等待
  • 如果是CPU綁定,使用穆蒂處理與等於可用核

數的號碼或程序如果不能確定是先驗的,只是實驗...但從來沒有忘記沒有任何方法絕對比其他所有可能的用例更好