Why Copying Many Small Files Is Slower Than One Large File in Windows

 



When you copy a folder with thousands of files even if the total size is only a few gigabytes you may notice that the operation takes much longer than expected. Interestingly, compressing (zipping) that same folder into a single file and copying it often completes significantly faster. But why does this happen?

This article explains what happens behind the scenes in Windows during file copy operations and why copying many small files is inherently slower than copying one large file.


Understanding the File Copy Process in Windows

Copying files is not just about moving raw data from one place to another. Each file copy operation involves several steps that the operating system must execute for every single file.

What Happens When You Copy a Single File?

[Start]

   │
   ├──► Open source file handle
   │       (check permissions, open file stream)
   │
   ├──► Read file metadata
   │       (timestamps, size, attributes, ACLs)
   │
   ├──► Read file content into memory
   │       (e.g., in 64KB chunks)
   │
   ├──► Create destination file handle
   │       (allocate disk space, create file entry)
   │
   ├──► Write content to destination file
   │
   ├──► Write metadata to destination file
   │       (set timestamps, attributes, ACLs)
   │
   ├──► Close source and destination file handles
   │
   └──► Notify OS / file indexer / antivirus (optional delays)


Why Copying Thousands of Small Files is Slow

When copying 8,000 files, every one of these steps must happen 8,000 times. The cumulative overhead from these operations includes:

  • Thousands of file handle open/close calls, which are relatively expensive system calls.

  • Repeated metadata processing for every file.

  • Scattered disk I/O, since small files tend to be spread across the disk rather than sequential.

  • Multiple antivirus scans and indexing operations, slowing down the copy process further.

Even if the total size of these files sums to only 3GB, the overhead of managing many small files causes the process to slow dramatically.


Why Zipping the Folder First Makes Copying Faster

Compressing the folder into a single .zip file before copying transforms the many files into one large file. This means:

[Start]

   │
   ├──► Open source files (streamed into ZIP format)
   │       (this happens once during compression)
   │
   ├──► Write compressed content into a .zip file
   │       (single write operation)
   │
   └──► Copy .zip file (1 file)
        ├── Open handle
        ├── Read data
        ├── Write data
        └── Close handle

  • Only one file handle open/close operation during the copy.

  • Metadata is handled once for the entire zip file instead of thousands of times.

  • Data is copied sequentially, which is faster than scattered small writes.

  • One antivirus scan and indexing operation occur instead of many.

The result is a much faster copying process, especially over slower connections like network drives or USB 2.0.


Practical Tips to Improve Copy Speed in Windows

  • Use robocopy with multithreading (/MT option) for copying many files without zipping. Example:

    robocopy C:\SourceFolder D:\DestinationFolder /E /MT:16 /R:1 /W:1
  • Zip large folders before copying when possible, especially if copying over networks or external drives.

  • Disable or configure antivirus temporarily if safe, to reduce scanning overhead during large copies.

  • Use faster storage media like SSDs instead of HDDs for source and destination drives.


Conclusion

The time it takes to copy files in Windows is not just about the total size, but also how many individual files are involved. Each file copy requires multiple system-level operations, including opening and closing handles, reading and writing metadata, and triggering antivirus and indexing services. This overhead accumulates quickly with thousands of files.

Zipping the folder first consolidates thousands of files into a single large file, dramatically reducing overhead and speeding up the copying process.

If you're regularly working with folders containing thousands of small files, zipping before copying or using advanced tools like robocopy with multithreading can save you significant time.