Do you understand file transfers? There’s this magical air to them. I remember on Windows I would watch the progress bar fill up at its own pace. The window would provide a time estimate that would go up and down with seemingly no relation to our linear concept of time. A batch of music albums could take five minutes to copy over, during that time providing an estimate of anywhere between three minutes and two hours.
When I switched to Linux, the situation changed. File transfer times felt more reliable. Not only that, they seemed faster, too.
So, does Linux have speedier file transfer speeds? And if it does, why?
Let’s Start With File Systems
Hard drives are divided into sectors of data. Sectors are grouped into clusters, which represent a continuous block of storage space on a disk. You may have noticed when formatting a drive that you’re able to choose the allocation unit size, (or cluster size). To manage these clusters, operating systems use file systems.
One such file system is FAT, or File Allocation Table, which has been around since 1977 and is still the one in use on USB flash drives. You may have also heard of APFS, the Apple Filesystem that’s the new standard on Macs.
Linux and Windows each use different file systems. The Windows file system is NTFS, short for New Technology File System. NTFS is a proprietary system that Microsoft created for Windows NT 3.1 way back in 1993 (but didn’t become part of regular Windows until XP in 2001). No, the name isn’t exactly apt anymore. While a decade and a half newer than FAT, NTFS is now around twenty-five years old. Nonetheless, it does come with advantages over FAT.
Linux comes in more forms than Windows, so I can’t say that when you use Linux, you’re using one particular file system. That said, your typical Linux-based operating system likely defaults to EXT4, or Fourth Extended File System. The first stable release of this file system came in 2008. The original version, EXT, came in 1992 as the first designed specifically for use with Linux.
These file systems don’t just merely have different names. They handle data differently. That doesn’t necessarily mean one is inherently faster than the other, but one may do a better job of copying files of a certain size or type. And that’s only scratching the surface of all the conditions that can impact the speed of your transfer.
Variables That Affect File Transfer Speeds
Any number of variables can impact how long it takes for files to transfer. This is why I’m not running any comparison tests: they’re entirely subjective. But if you do want to see a simple comparison video that someone else made, here you go.
Let’s look at some of the reasons for the difference, even between Windows and Linux running on the same machine. For starters, what other applications are running in the background? The more attention your CPU has to pay to other tasks, the less it can give to your transfer. On Windows, even if you’ve closed every window, there’s still a lot going on. The same is true on Linux, but the processes tend to be less memory intensive. You don’t have apps connecting online to deliver a popup or uploading a record of what’s installed on your PC.
What drivers are you using? A faulty driver can also have an impact on the speed of your transition. Windows and Linux handle drivers differently. On Linux, they’re typically baked directly into the kernel. Your computer either supports a piece of hardware or doesn’t. On Windows, you can often download drivers after the fact. As is common with software designed to be extendable, this approach can lead to bloat and inefficiencies.
If you’re not running Windows and Linux on the same computer, consider the age of the hard drive. One computer may seem like it should be faster on paper, but these are physical components, and they do deteriorate with age. An aging drive won’t transfer data as quickly as a new one. The same concern is true if you’re transferring to an old USB stick or hard drive. Speed may also suffer if you’re plugged into a USB 2.0 port, rather than the faster USB 3.0.
So Why Do Linux Transfers Feel Faster?
One reason is that EXT4 is particularly good at handling small files. Phoronix has demonstrated this with benchmarks showing the speeds of various Linux file systems copying data to a USB stick. EXT4 is also good at managing larger contiguous blocks of data.
EXT4 benefits from delaying allocation of data blocks until data is ready to be written to disk. NTFS suffers from fragmentation. This is why you need to defrag your Windows machine regularly (if you’re not using a SSD) to maintain top performance. EXT4 writes data in a way where this isn’t a problem.
Windows appears to be more cautious, making sure your data is actually copied if you close the copy dialog window, so that you can safely remove a USB stick. That’s not necessarily a bad thing, even if it may come at the cost of speed.
What’s Your Experience?
In the end, if Linux is faster, that doesn’t mean it’s faster in all cases. I wouldn’t switch from Windows to Linux just for faster transfer speeds. There are plenty of other reasons to consider.
Have you copied files in Linux and Windows? Did one seem faster than the other? Which do you prefer to use for the task? And if you have insight to share about the nuts and bolts of these different file systems, by all means, please leave a comment!