Copying

使用多執行緒複製文件可以提高性能 - 為什麼?

  • June 22, 2021

將文件從一個位置複製到另一個位置時,最常用的資源是設備上的記憶體(緩衝區)和 I/O。但是,當使用多執行緒複製實用程序(如 Robocopy)時,如果您指定大量執行緒,則可以提高性能。

我的問題是:為什麼多執行緒會顯著增加大量文件的複制處理時間?無論如何,CPU 需要做的工作並不多。謝謝。

每個文件必須有一些握手成本(尤其是在復製到網路共享時),當您對許多小文件使用多執行緒複製時,由於您同時進行握手,這些成本會減少。我懷疑您會看到大文件的優勢較小。該基準似乎支持該假設: https ://www.demartek.com/Reports_Free/RMWTUG_2011-03_Robocopy_multithread_Testing_Dennis_Martin_a.pdf

握手成本的範例可能是檢查目標文件是否已經存在、檢查權限、..

引用自:https://serverfault.com/questions/924480