If you've done everything we mentioned in the last chapter and you're as good a programmer as you claim, you can, of course, skip this chapter. If instead you are mortal like the rest of us, you may discover that your application's performance could use a bit of improvement.
When you set out to make that improvement, having the perfect knowledge of the static structure of your program is not enough to lead you down the right path. No one is surprised more often by the dynamic behavior of a program than its author.
You need tools for performance tuning. In this chapter we discuss the tools you can use to help you find performance problems in your application. The tools we discuss here are flexible and can address a wide variety of tuning issues. To cover them all completely would give us yet another volume. So instead, we'll show you how to use each tool and what it can tell you, and refer you to the documentation supplied with each one for the gory details.