parallel copy directory, faster than robocopy

Sean Cavanaugh WorksOnMyMachine at gmail.com
Tue Feb 14 16:11:29 PST 2012


On 2/13/2012 10:58 PM, Jay Norwood wrote:
> Attached is the source for a small parallel app that copies a source folder to a destination.  It creates the directory structure first using the breadth ordering, then uses a parallel foreach loop with the taskPool to copy all the regular files in parallel.  On my corei7, this copied a 1.5GB folder with around 36K entries to a destination in about 11.5 secs (src and dest on the same ssd drive).  This was about a second better than robocopy, which is the fastest alternative I could find.   The regular win7-64 copy takes 41 secs for the same folder.
>
> I'd like to add wildcard processing for the sources, but haven't found a good example.


more of an 'FYI/reminder':

At a minimum Robocopy does additional work to preserve the timestamps 
and attributes of the copies of the files (by default) so it can avoid 
redundant copies of files in the future.  This is undoubtedly creating 
some additional overhead.

Its probably also quite a bit worse with /SEC etc to copy permissions.

On the plus side you would have windows scheduling the IO which in 
theory would be able to minimize seeking to some degree, compared to 
robocopy's serial copying.


More information about the Digitalmars-d-announce mailing list