.net File.Copy very slow when copying many small files (not over network)

Posted by Guavaman on Stack Overflow See other posts from Stack Overflow or by Guavaman
Published on 2012-07-06T22:41:22Z Indexed on 2012/07/07 3:16 UTC
Read the original article Hit count: 169

Filed under:
|
|
|
|

I'm making a simple folder sync backup tool for myself and ran into quite a roadblock using File.Copy. Doing tests copying a folder of ~44,000 small files (Windows mail folders) to another drive in my system, I found that using File.Copy was over 3x slower than using a command line and running xcopy to copy the same files/folders. My C# version takes over 16+ minutes to copy the files, whereas xcopy takes only 5 minutes. I've tried searching for help on this topic, but all I find is people complaining about slow file copying of large files over a network. This is neither a large file problem nor a network copying problem.

I found an interesting article about a better File.Copy replacement, but the code as posted has some errors which causes problems with the stack and I am nowhere near knowledgeable enough to fix the problems in his code.

Are there any common or easy ways to replace File.Copy with something more speedy?

© Stack Overflow or respective owner

Related posts about c#

Related posts about .NET