Sunday, March 15, 2009

Windows Disk Defragmenter 5.1.2600.5512 in the 2009 Defrag Shootout

Windows Disk Defragmenter 5.1.2600.5512 is part of Windows XP, and is often known as WDD or just defrag.exe. When comparing the performance of a fragmented XP system and the defragmented one, the results are roughly as expected: in most cases the system performs faster, with a top improvement of 25% faster, an average around 12% faster, and a worst case of 0.83% slower.
I tested all 4 defrag options: the graphic interface (shown above), and 3 command-line options:
defrag c: -f -v
defrag c: -b
rundll32.exe advapi32.dll,ProcessIdleTasks
The first forces a defrag (-f), and gives statistics of the state of the file system (-v). The second (undocumented) option (-b) does a "bootup" defrag, where it attempts to optimise the system. The last one sets off a "boot time" defrag option, similar to the second, but it occurs at boot time on every 3rd reboot or so. I created a batch file that included all 3 options, and let it run for several hours, since WDD is a multi-pass defragger: it doesn't get everything done on the first pass.
I used CCleaner to remove old deleted files, tidy up the registry, clear the temporary Internet files, and generally fix up the system. This made a number of empty spaces near the start of the drive, and allowed the defrag process to optimise the system.
The benchmark results for the reference WinXP system are available in a PDF file, and the results of the WDD tests are also available.
Probably the most useful results are the time it takes to open a Word 2007 document and an Excel 2007 spreadsheet. The Excel spreadsheet improved from 9.45 seconds to 8.48 seconds, or 10% faster. Similarly the Word document time dropped from 17.82 seconds to 16.66 seconds, or 6.5% faster. The FileAccessTimer results show a 24% and 18% improvement on data files and program files, and the IOZone result is 25% faster. This last result depends on the availability of free space for temporary files. Even though the free space is in the slower half of the drive, the lack of fragmentation shows up in faster response times.
The SpecViewPerf tests showed only slight performance changes, and the Access Stress Test result was marginally slower. The AVG full computer scan result was only slightly faster. I would have expected it to be faster because all the files are now defragmented and better positioned. It remains to be seen whether other defrag programs have any effect on these benchmarks.
Conclusions: About the only safe conclusion we can draw is that the system runs the same or faster when the system is defragged from time to time. Perhaps when a number of other results have come in, we can start drawing more detailed conclusions.

1 comment:

David Spector said...

Congratulations on undertaking such an ambitious review. Personally, I think the best speedups come from moving files you want to run fast to the outside of the disk (HDD only) and consolidating all the free space. This is called external fragmentation. It takes more time to do than in internal fragmentation, which usually takes only a few seconds or minutes.

The best optimization, where all files and folders you are likely to reference are consolidated near the outside of the disk and files whose speed of access you don't care about are packed toward the inside of the disk, with the free space in a ring not too far from the outside, is impractical because it takes more disk operations to maintain than the actual disk operations that produce useful results during the day.

This is why each user needs to experiment using defraggers like Ultimate Defrag that give you a choice of methods. There is no ideal automatic defragger because there is not just one pattern of usage.

David Spector
Springtime Software