簡體   English   中英

使用python2.7多重處理復制文件有什么好處

[英]Is there any benefit to using python2.7 multiprocessing to copy files

我想知道使用python2.7的多處理模塊將文件從一個文件夾異步復制到另一個文件夾是否有任何好處。

是否總是將diskio強制串行化? 如果要從一個硬盤復制到另一硬盤,這會改變嗎? 是否會根據操作系統(Windows / Linux)而改變?

也許可以並行讀取,但不能寫入?

所有這些都假定要移動/復制的文件是去往不同位置的不同文件。

在命中硬盤之前,I / O進入RAM中的系統緩存。 來回寫入時,您可能會發現副本很快,直到耗盡RAM,然后放慢速度,並且對同一數據的多次讀取很快。 如果將同一文件復制到多個位置,則在移至下一個文件之前先進行該文件的復制是有好處的。

單個硬盤驅動器(或與RAID或卷管理器相連的一組硬盤驅動器)的I / O主要是串行的,除了操作系統和驅動器可能會在尋找更遠的磁道之前對操作進行重新排序以讀取/寫入附近的磁道。 進行並行復制有一些優勢,因為有更多的重新排序機會,但是由於您實際上是在應用程序寫入后的某個時候從系統RAM緩存中進行寫入,因此這些優勢可能很難衡量。

在驅動器之間移動會有更大的好處。 盡管運行驅動器的總線(例如pcie,sata)存在一些爭執,但它們大多並行運行。

如果要復制的文件很多,則進行多處理是一種合理的方法,但是您可能會發現本機復制實用程序的子過程更快。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM