We have all heard that defragmenting a hard drive (HDD) can give you a boost in performance. Is this just a an old wive’s tale or is it grounded in reality?

Most of us, whether we are top-notch IT talent or just a regular Joe or somewhere in between know that taking care of a computer and doing some basic upkeep can keep it running at a decent clip. Defragmenting a HDD is one of those basics that we should all do and has been so since well, mechanical HDDs came into existence. However, is this just good housekeeping practice based on actual results, or is it just one of those myths about what to do with your computer to keep it running well?

The Test Setup

To set this test up and to keep it fair, I am using VirtualBox. The image I built is based off of Windows XP SP3 in a 14.9gb image. I downloaded and installed all possible windows updates (critical or not) from Microsoft as of 02/08/2010 . I then installed MS Office 2007 and downloaded all the updates for it. I then uninstalled office and the updates for office. I then copied many photos to and from the drive. I then removed every other photo (over 2,000 photos), then installed Microsoft Office 2007 and downloaded the updates for it again. I then deleted all of the photos. I then used a program called Fragger to purposely fragment the rest of the drive (fragger wrote 5,706mb of pure fragmentation to the image). I then installed all of the softwares to be used in this test (the defragmenters) so they would be preinstalled on the backup image. I then used the function built into VirtualBox to make a backup image of the virtual machine so that I could restore from that backup for the purpose that each defragmenter has a fair chance on the same exact fragmented dataset.

To start things off, I needed to find some sort of baseline for performance. After doing much searching, I settled on a free tool called HDTune. It isn’t as full featured as the full pay-version of the program, but for the purposes of these tests, it was more than enough. It gave me 4 readings that I felt were the most relevant to the tests I was doing: Minimum Read Speed, Maximum Read Speed, Average Read Speed, and Access Time.

I did not measure defragmentation time as I started each of them defragmenting before i went to bed each night, so time didn’t matter to me. I would like to go ahead and say that I feel it is safe to assume most others do something similar. With defragmentation being something that should be done at least, in my opinion, once a month, it will tend to be something that is set to be done while the pc is not in use, like during the night while you are sleeping, thus why I tested in this manner.

I then found myself ready to run the tests. Then the bright idea occurred to me: Maybe Virtual Box will have a massive impact on the tests, so I need to have a comparison of my HDDs read speed outside of Virtual Box and inside of it. So, I ran those tests. I then decided that once I ran all the tests, I would use the winner of the tests and defragment my harddrive (previously defragmented with MyDefrag before building the Virtual Box image) to see if it improved things any, especially after deleting and restoring multiple 15gb images in the process of the tests.

The version of Virtual Box used in this test was Virtual Box 3.0.12r54655. The HDD that I am using and got the original base results to compare against is a ST3250410AS with Windows XP installed on it. Also, where needed, I will note what options I used with each defragmenter in an attempt to get the ‘most’ out of the program.

The Defraggers

The Results Inside of Virtual Box

The first thing I needed to do inside of Virtual Box was to get a baseline reading that I could compare against. The first reading I took was just after installing Windows XP SP3 and all of the updates – critical or not – available at the time. This would represent the fresh system install speed that we all know and love so well. The results are as follows:

Minimum Speed (Mb/s) Maximum Speed (Mb/s) Average Speed (Mb/s) Average Access Time (ms) 0.7 58.6 39.2 25.6

I then needed a baseline test after all the work I put into purposely fragmenting the image, the results of which are below. What was surprising to me was how far the average read speed fell.

Minimum Speed (Mb/s) Maximum Speed (Mb/s) Average Speed (Mb/s) Average Access Time (ms) 4.9 57.7 31 13

Now, for a baseline defragmentation, and the standard against which all the other defragmenters in this roundup will be measured, I ran the built in defragmenter that comes standard with WindowsXP. The results that came back were very surprising, which when I ran this, gave me great hope for what the others might be able to accomplish as they are all touted as ‘better’ than the default built into windows.

Minimum Speed (Mb/s) Maximum Speed (Mb/s) Average Speed (Mb/s) Average Access Time (ms) 5.7 59 50.6 7.5

3rd Party Defraggers

Now, with that as a nice set of baselines to compare against, I then went on with the rest of the tests. After every time that I restored the image, I would then defrag the image, reboot it, then run the tests. The next results are of my defragger of choice (before i ran these tests). After the tests, will it still remain my favorite? We shall see. The next results are for MyDefrag. For options, I chose Defrag Monthly for the most thorough defrag.

Minimum Speed (Mb/s) Maximum Speed (Mb/s) Average Speed (Mb/s) Average Access Time (ms) 22.4 204.8 67.9 8.4

These results had me excited. That big of a boost over the default defragger aside from Access Time (which would prove to be the only thing that the XP Defragger was better at in the end, to only slightly spoil the results). However, with these results in, it was now on to the next defragger: Defraggler by Piriform. For options, I chose – Move Large Files to End of Drive.

Minimum Speed (Mb/s) Maximum Speed (Mb/s) Average Speed (Mb/s) Average Access Time (ms) 23.5 206.6 68 8.2

The next candidate up for testing is one that I found quite by accident while looking over slickdeals.net for some deals on Steam. Puran Defrag is a program that used to be payed-for software that is now freeware. I decided to give it a chance in this roundup to see if a ‘payed for’ style program was worth the money it used to cost. The option I chose on this one was to use the setting: Boost overall system speed by Puran Intelligent Optimize

Minimum Speed (Mb/s) Maximum Speed (Mb/s) Average Speed (Mb/s) Average Access Time (ms) 1.3 207 50.9 8.6

Then, the next test was on to a program I had used in the past, then decided to stop using once I found MyDefrag (formerly JKDefrag) as it didn’t feel as fast after defrags. Would this test bear that out? The options I chose for this one were: remove temp files before defragmenting, move system files to beginning of disk, defrag and optimize

Minimum Speed (Mb/s) Maximum Speed (Mb/s) Average Speed (Mb/s) Average Access Time (ms) 5.4 206.8 58.9 9.0

Then, the final program in our roundup was suggested to me by fellow forum member C627627. Vopt was a program I had never heard of, but since it was a free download, I decided to add it to the test and to see how effective it was. The options I chose that were available to me in this one were: tighter packing, move system restore to end of drive.

Minimum Speed (Mb/s) Maximum Speed (Mb/s) Average Speed (Mb/s) Average Access Time (ms) 19.7 202.7 57.9 9.3

The Results Outside of Virtual Box

Before doing the battery of tests that I did, and knowing what would happen to my HDD after deleting and restoring a 15gb image file over and over, I ran a preliminary speed test on my HDD to see what the transfer rate was outside of Virtual Box so that I could see what the affects of running the tests inside of Virtual Box would be, if any affect. Those results are below.

Minimum Speed (Mb/s) Maximum Speed (Mb/s) Average Speed (Mb/s) Average Access Time (ms) 4.7 81.8 73 15.3

I then decided that for a final bit to test my drive to see if the overall results winner actually improved anything, I used Defraggler with the same options as in the Virtual Box test, then ran HDTune one last time.

Minimum Speed (Mb/s) Maximum Speed (Mb/s) Average Speed (Mb/s) Average Access Time (ms) 52.1 81.8 74 15.2

So, even though the improvements were minimal aside from minimum speed, it still improved over even the MyDefrag results before all the other tests.

Results Summary

Conclusions

With the results of the tests in, it seems the ‘old wive’s tale’ of defragmenting your HDD to maintain performance is not only true, the results of it were astounding. Even if you don’t use a 3rd party defragger, the tool built into Windows itself gives a massive boost in performance.

I do realize that these results are only for my machine and specific for only a virtual machine inside of Virtual Box. Even as that may be, I feel there are two 3rd party defraggers I can confidently recommend to anyone to use on their machines as their results are so similar, and the overall increase in speed is different by only 0.1Mb/s.

So, congratulations are in order for MyDefrag 4.2.7 and Piriform Defraggler 1.16.165!

– TollhouseFrank