7 Performance

Contents of this section

7.1 Why isn't my drive as fast as it's advertised to be?

Good question. The basic answer is that the advertised modes are theoretical transfer rates.

This is the case at two levels. First and foremost, the oft-quoted rates do not represent the speed at which the drive can actually read data from, or write data to, the magnetic media. Instead, they give the speed at which data can be exchanged between the drive's buffer cache and the CPU. While the latter gives the more imposing figures, the former has greater impact on real world performance. "It is really as if the government had had a speed limit of 250 km/h on the highways, then raised it to 1600 km/h and tried to impress you by telling you that now you can drive faster"--Aaron Bilger ( bilgerar@mentor.cc.purdue.edu ).

Second, even once you accept that these transfer rates can be achieved only when the drive happens to have the data ready in the buffer cache, these figures are pretty optimistic. Realistically, drives do more than just give data to the host out of the cache. For each sector transferred to the host, the drive's controller needs to get one from the media; internal controller processing, table updates, positioning and buffer cache management all take some of the controller's attention. All reduce the throughput from the cache to the host.

On top of that, depending on the benchmark used to determine the 'throughput', the rate can vary from 1MB/s to 9MB/s and upwards, all on the same drive. This depends on what the utility actually measures, how it measures it, and even where on the drive it measures it (different zones on the same drive can vary up to a factor two in speed). Plus, system configuration (MHz CPU, RAM, harddisk cache, processor cache) make a difference as well.

Bottom line is, whatever benchmark you use, you will not 'see' the advertised transfer rate. The real test is how well it improves your day to day applications. The rest is just fluff.

7.2 Why is my new EIDE interface no faster than my old VLB one?

There are several reasons why it is possible that an ATA-2 interface is no faster than a local bus ATA one even if the drivers are installed and everything works properly. The first, and most important, is that the bandwidth of the fastest ATA mode, 8.3MB/s, exceeds the real world transfer rate of most drives on the market today by a considerable margin. If this is the case for your drive, increasing the interface bandwidth beyond this will have no noticeable effect.

A further possibility is that your drive does not support the ATA-2 transfer modes at all. In that case, an ATA-2 interface may improve performance relative to an old-fashioned ISA bus interface, but it will be no faster than a good local bus ATA interface.

Finally, if the ATA-2 interface does not support separate timing for master and slave drives, putting an ordinary ATA drive on the same cable as an ATA-2 drive will reduce the interface speed to that of the lowest common denominator.

7.3 I benchmarked my drive and it's getting slower!

Believe it or not, but this is completely normal. First, filesystem fragmentation affects some benchmarks; try defragging the drive. Second, not all parts of the drive are equally fast.

Physically, a harddrive consists of one or more rotating platters, where the tracks are concentrical circles on these platters. Obviously, the outermost tracks are longer than the innermost ones. Because they are longer, they can hold more sectors. As you work your way inwards and the track length decreases, the number of sectors decreases in a number of steps. This is referred to as Zone Bit Recording (ZBR).

Back to the benchmarks. Since the platter spins at a constant rate, more sectors in a track give a proportionally higher transfer rate. The very first cylinder of your drive is right at the edge of the platter, in the fastest zone. This is the area that was tested when you got your drive and tried to find out how well it performed. As your drive fills up, you start using higher cylinder numbers---and slower zones. Depending on the type of benchmark you use, this may be reflected in lower scores.

The difference in sectors per track (and hence transfer rate) between the fastest and the slowest zone may be as much as a factor two. Typical drives have anything from five to twenty zones, all with a different number of sectors per track.

7.4 A guy on the net has the same drive and he gets 16MB/s!

"Usenet is like a herd of performing elephants with diarrhea--massive, difficult to redirect, awe-inspiring, entertaining, and a source of mind-boggling amounts of excrement when you least expect it."
-- Gene Spafford (
spaf@cs.purdue.edu ), 1992

7.5 Busmastering drivers don't do much...

First of all, busmastering will generally not do much with the transfer rates themselves. What it does is relieve the CPU from the chore of shovelling data around, so that it can do something more useful. However if you tend to do only one thing at a time, or you're running a benchmark, the extra CPU time can't be used for anything and busmastering will have no appreciable effect.

Second, you will not see any decrease in CPU usage with the System Monitor in Win95 because it tracks the amount of time spent in the "system idle" loop. However, with a pending I/O operation, the system doesn't spend its spare cycles there, but in the "waiting for I/O to complete" loop.

Next Chapter, Previous Chapter

Table of contents of this chapter, General table of contents

Top of the document, Beginning of this Chapter