Robocopy single- and multithreaded benchmark on Windows 7
A commenter of my robocopy article asked me if a multithreaded copy tool like robocopy is really faster then a single threaded copy tool like xcopy as normally the harddisk is the bottleneck and not the CPU when copying files. As I did not found any benchmarks, I decided to do my own benchmark. Here are the results:
In my test, I copied a folder hierarchy with 429 directories and 6313 files with a overall size of 522 MB. I’ve run every test 2 times to ensure that the speed differences are not caused by filesystem caching. I know that this test was not made under scientific conditions, so if you have your own results, feel free to post them here as comment.
xcopy
Command:
xcopy D:\server\test D:\tmp\test /D /E /Y /Q
Time to copy files
First run: 42 seconds
Second run: 41 seconds
robocopy with 1 thread
Command:
robocopy D:\server\test D:\tmp\test /MT:1 /E /LOG:d:\tmp\robocopy.log
Time to copy the files
First run: 43 seconds
Second run: 41 seconds
robocopy with 10 threads
Command:
robocopy D:\server\test D:\tmp\test /MT:10 /E /LOG:d:\tmp\robocopy.log
Time to copy the files
First run: 38 seconds
Second run: 36 seconds
Conclusion: Using a multithreaded copy tool like robocopy with 10 threads speeds up file copying and makes sense if you have to copy a large number of files. At least on my system.
Thanks for the test results. The real question I think is the effect the two copy programs and varied thread counts have on whatever it is I’m doing while the copy is happening? Both background and foreground processes can have profound effects on disk I/O. Also, I am guessing that your copy was single disk. I would be interesting to see the results between two disks, both local, both networked, and mixed..
Again thanks for the informaton.