Wednesday, January 7, 2009

Speeding up File Copy, Move & Delete operations in Windows Vista

windows-vista-logo-1-custom I have been using Windows Vista for quite some time now, while most of the people would suggest down-grading to Windows XP ( because for most of the reason it seems that it is a lot better and faster version of Windows than Windows Vista) -- which on my opinion, is a myth. I consider it an unfair comparison, Windows Vista has only been out for a about 2 years while Windows XP has been out for more than 6 years already, it's already been tried and tested, all the quirks and bugs worked out and fixed. If most of you know Windows XP, also back then had the same user reception -- "don't use Windows XP stick with Windows ME or Windows 98, its a lot stable and faster". Sounds familiar right? Exactly!

Windows Vista is perceived to be slow since it has already undergone major changes under the hood, a lot of plumbing has been fixed and re-designed to make it better for the newer and more powerful hardware to come (multi-core CPUs, Gigs of RAM, powerful 3D graphics, next-generation TCP/IP stack IPv6 and etc.) a far cry to the hardware on the days that Windows XP was released.

And one of the changes that change a lot in Windows Vista is the way it handles copying of large files over the network or over different drives (USB drives). When you copy files over the network, Windows Vista can copy this in a way that it doesn't impact network traffic, it is less aggressive at hogging out bandwidth of the network, This is known as "TCP Auto-Tuning".

Windows Vista also has a way of only copying the contents of the file that changed and these changes are only the ones sent off the network, this feature is known as Remote Differential Copy (RDC). In theory, when you are syncing large files across the network or across folders this should make speed up the process, apparently this produces some overhead whenever a file is copied or moved, Windows Vista has to do additional checks to carry-out this feature, thus impacting the overall file copy / move process.

While both of these features are good on large installation where there are a lot of computers using the network, this is a pain if you're copying files between the computers in your house.

With the couple of Googling and reading through Microsoft's knowledge base, The good thing is that, you can disable these features. Just follow the steps below:

Disable Remote Differential Compression (RDC)

  1. Click on Start -> Control Panel.
  2. Click on Program And Features icon.
  3. Then click on "Turn Windows Features on or off" link.
  4. "Uncheck" the "Remote Differential Compression" checkbox.
  5. Click OK.
  6. Wait for the feature to be deactivated.

Disable TCP Auto-Tuning

1. Click on the "Windows Logo / Start Button ", then on "Start Search", type "CMD", on the "CMD Shell" icon, right click to bring up the pop-up menu and select "Run As Administrator".

2. At the CMD Prompt type the following

netsh int tcp set global autotuninglevel=disabled

Restart Windows

You will need to restart to apply the changes.

Testing it out

After restarting, go ahead and test it out, based from my experience, a 700 MB file would take about 6-7 minutes to copy from my USB drive to my hard drive now only takes 1 minute and 30 seconds to finish. File copy over the network doesn't hang anymore and file copies are done faster, comparable to Windows XP.

Now if for for some reasons, if you notice something weird on how your Windows on the network, you can re-nable autotuning back by giving command via the CMD Shell - ("Run as Administrator").

netsh int tcp set global autotuninglevel=normal

And that's about it, Happy Pragmatic Computing!

A big thank you to the following people from the link below:

1 comment:

Anonymous said...

wa jud tawon ko migamit ug Vista. vistang batia man gud.hehe..