Previous Table of Contents Next


Chapter 3
Overview Of Performance Tuning

  Defining Performance
  Measuring Performance

For many people, performance tuning has a mystical ring to it. Performance tuning is often considered a kind of black magic, and only the person who has made a pact with the devil can make any sense of it. Some people call me a computer wizard, and my Web site (www.nt-guru.com) was pointed out as an applicable name that demonstrates my abilities with Windows NT. I can assure you, however, that I have not signed my name in blood on any contract with the devil. I’ve worked long hours and applied my skills to amass the knowledge that I am trying to share with you. While I do not subscribe to the black magic syndrome, I firmly believe performance tuning is as much an art as a science. To many people, only a logical methodology works, where a series of steps always provides the same answer. This is the science part of performance tuning. And, like any other logical method of deduction, it can be taught. For the most part, the chapters that follow use science to describe how to improve the performance of your computers.

An art, on the other hand, cannot be taught by rote. To be an artist, you must have a feel for the medium and be able to reach deep within yourself to express a concept that others deem impossible. As someone who has tried his hand at painting, I can tell you from experience that I don’t have this type of artistic capacity. But, I do have an ability to work what some others have called magic on their computers. The “magic” is part skill, part technical knowledge, and part feeling. The ability to feel is the artistic component when it comes to performance tuning. In some of the chapters that follow, you’ll see notes, tips, and warnings that point out some of these artistic views.

You might consider the ability to feel where the problem resides as just a higher form of intuition. Without having physical proof, you just know where the problem resides. You can’t teach this ability to others, but you can help them to expand their awareness and learn to listen to their intuition. Maybe your intuition about the problem is correct, but you’ll never know for sure if you don’t test the solution your intuition is telling you to try. If you want, you can consider this a function of your self-confidence. Your self-confidence and problem solving capabilities will grow as your knowledge grows—but only if you listen to your intuition. Don’t disregard the feeling you have just because you lack any physical proof. Instead, use this feeling to guide you to find physical proof.

Now that you understand a bit about the philosophy of performance tuning, it’s time to actually get to work. In this chapter, you will learn what performance means. In addition, you’ll learn how to measure performance and what tools you can use to measure performance objectively on your system.

What Is Performance?

Unlike most dictionaries, I define performance as the ability to accomplish a task in a fixed amount of time. The faster the task is completed the better the performance. Performance, however, is a relative concept. You can’t just point your finger at a computer and say, “That computer has better performance.” Instead, you have to provide a basis for your statement. If you have two computers, for example, you can say, “This computer performs better than that computer.” Even then, the person you are talking to will probably ask, “How does that computer perform better than this computer?” At that point, you need to be able to positively state the reasons why one computer outperforms the other computer; otherwise, your statement won’t hold much water.

Performance is always relative to some physical event. Let’s say you have a computer with an Intel Pentium 200MHz processor that outperforms a similarly equipped computer with an Intel Pentium Pro 200MHz processor. Your Pentium processor may outperform the Pentium Pro in the number of processor clock cycles needed to accomplish a specific task using a specific set of opcodes (binary instructions hardwired in the processor). How can this be, you ask, since the Pentium Pro is supposed to be a faster processor than the Pentium? Well, the reality is that the Pentium 200MHz processor was optimized to execute 16-bit code. The Pentium Pro 200MHz processor, on the other hand, was optimized to execute 32-bit code. In a 16-bit environment, the Pentium processor may outperform the Pentium Pro. On the other hand, in a 32-bit environment, a Pentium Pro 200MHz processor will perform almost twice as fast as a Pentium 200MHz processor. This is why most users prefer to run Windows NT on a Pentium Pro processor. Windows NT is a true 32-bit operating system unlike Windows 95. Windows 95 is a 16-bit and 32-bit hybrid operating system.

So, once more, you can’t arbitrarily say that a faster processor will perform better than another, unless you qualify your statement. You can, for example, say that a Pentium 200MHz processor will perform approximately twice as fast (all other components being equal) as a Pentium 100MHz processor, but only because these processors are part of the same family. Neither processor is any different internally with the exception that one runs at 200MHz and the other runs at 100MHz. To compare the performance of different processor families requires a common baseline. Most benchmark programs for Intel processors use a common set of CPU instructions to test the performance of a particular mode of operation. These benchmark programs often use a test that compares the results of different blocks of 16-bit and 32-bit code. The same code is tested on both computers, and the computer with the faster execution time is deemed the one with better performance.


Previous Table of Contents Next