Performance measurements by example
We will have time to learn about each of the performance analysis tools in more detail in the rest of this chapter, but in this section, we will do a quick end-to-end example and analyze the performance of a simple program. This will show you what the typical performance analysis flow looks like and how different tools are used.
There is also a hidden agenda: by the end of this section, you will come to believe that you should never guess about performance.
Any real-world program that you may have to analyze and optimize is likely to be large enough to take many pages in this book, so we will use a simplified example. This program sorts substrings in a very long string: suppose we have a string S
, such as "abcdcba"
(this is not so long; our actual strings will have millions of characters). We can have a substring starting from any character in this string, for example, the substring S0
starts with the offset 0 and, therefore, has...