Why does copying speed constantly drop while copying in Windows 7's Explorer?

2

2

I've been using Windows 7 for several years now, and always noticed that the copying speeds can be consistently relied on to drop throughout the task of copying files or folders. Today, I decided to test it.

I used five files ranging from 1GB to 8GB, copying them from one place to another on the same HDD - a SATA 3 (6.0 Gb/s) drive, but limited to SATA 2 (3.0 Gb/s, or 375MB/s) speeds because of the motherboard headers.

All of these five files started out copying at roughly 100MB/s, and proceeded to drop throughout until they'd eventually reached half of that by the end of the operation, with some ending up as low as 40MB/s.

Here's a benchmark for the drive:

enter image description here

Although I was surprised at the low rates for the random tests, the sequential rates seem more than adequate to sustain 100MB/s for copying, which I believe is a sequential operation so long as the drive isn't fragmented.

Given this, why is Explorer's copy speed always decreasing from the moment the copy operation starts?

Is this simply an unavoidable quirk of Windows 7, or is there an issue somewhere that I can address to solve it?


Edit: The drive I used for the above tests and benchmarks is a 2TB Seagate Barracuda, but I've noticed this behaviour with Windows 7 across many other drives and USBs for several years, so I'm convinced it's an OS problem rather than a drive one. The reason I included the benchmark was to illustrate that it's capable of drawing those speeds.

Hashim

Posted 2018-04-13T21:43:01.080

Reputation: 6 967

In order to answer this, we need some more information about your harddisk. What kind of drive? How big? how much RPM does the drive has? What partition scheme is used? (fatex vs ntfs etc) – LPChip – 2018-04-13T21:49:43.443

1Don't really need to know the disk type as I have wondered this myself - what is it doing to reduce the file copy speed? Only happens during drag/drop - Never during xcopy/robocopy – JohnnyVegas – 2018-04-13T22:40:31.303

xcopy/robocopy use different methods to copy that have their own strengths/weaknesses. – music2myear – 2018-04-13T23:14:32.173

@LPChip I've updated the question with more details. – Hashim – 2018-04-14T00:09:20.527

@JohnnyVegas I've also noticed that it only tends to affect Windows Explorer, during either drag-and-drop or standard copy and paste, hence why I focused on Explorer in the question. – Hashim – 2018-04-14T00:10:54.170

1https://blogs.msdn.microsoft.com/oldnewthing/20040106-00/?p=41193 – magicandre1981 – 2018-04-14T06:38:14.300

Perhaps the more relevant question is the total time required to copy data, not the reported rate/interval at various points along the way. Have you tried using a stopwatch to compare the total copy time taken by explorer and then say the copy command? – I say Reinstate Monica – 2018-04-14T12:17:20.587

@TwistyImpersonator No, the more relevant question is copying speed, which copying time is calculated from, not the other way round; the speed is the root cause. – Hashim – 2018-04-15T21:37:20.300

This is evidenced by the last line of the Raymond Chen blog post that @magicandre1981 linked to: If the copy throughput changes, the estimate needs to change to take the new transfer rate into account. What that blog post doesn't address is the root cause alluded to; why the transfer rate itself changes frequently, and my question - why that speed is always dropping - is a separate one entirely. – Hashim – 2018-04-15T21:38:02.377

@Hashim We're saying the same thing. Copy speed determines total time to copy data. Have you compared Explorer's total copy time to another method to determine if it's truly slower? – I say Reinstate Monica – 2018-04-15T21:39:40.403

No I haven't, but I would only need to if the question I was asking is why/whether it is slower than the alternatives - I haven't claimed that because that's not the question. The question is straightforward; why the rate reported by Windows 7 is dropping [or appears to be]. An answer might provide information in the process of explaining why it drops that coincidentally illustrates that it is actually copying faster than the speeds it's reporting, or it might not - but the question is about this particular quirk of Explorer, not Explorer's speed relative to its competitors. – Hashim – 2018-04-15T21:48:15.910

To bring what you're suggesting closer to the scope of the question: no other file manager I've seen out in the wild has its reported transfer rate drop like Explorer does - whether those file managers are hiding something that Explorer simply isn't might be something to look into that could help answer the question. – Hashim – 2018-04-15T21:54:09.400

why the transfer rate changes... For all sorts of reasons: The storage device's buffer gets full, other I/O requests occur during the copy, the source file has large contiguous chunks followed by fragmented data, and so on. – I say Reinstate Monica – 2018-04-16T02:02:25.413

1why that speed is dropping ... In my observation this is because the first X bytes of the copy are artificially "fast" due to caching, but for files larger than the cache the average transfer rate continues to decline as more time passes. Keep in mind the fact the transfer rate is based on part on the the average rate so far, which by definition will decline over time if the transfer rate at the beginning was greater than the average rate of the transfer completed so far. This leads to a declining rate for the majority of modern storage configurations, since most of them include buffering. – I say Reinstate Monica – 2018-04-16T02:04:18.063

No answers