No battle plan survives contact with the enemy.
The key properties of the systems I examine appear in Table 15-1. The quality metrics I collected can be roughly categorized into the areas of file organization, code structure, code style, preprocessing, and data organization. When it is easy to represent a metric with a single number, I list its values for each of the four systems in a table, and on the left I indicate whether ideally that number should be high (↑), low (↓), or near a particular value (e.g., ≅ 1). In other cases we must look at the distribution of the various values, and for this I use so-called candlestick figures, as in Figure 15-3. Each element in such a figure depicts five values:
The minimum, at the bottom of the line
The lower (25%) quartile, at the bottom of the box
The median (the numeric value separating the higher half of the values from the lower half), as a horizontal line within the box
The upper (75%) quartile, at the top of the box
The maximum value, at the top of the line
The arithmetic mean, as a diamond
Minima and maxima lying outside the graph’s range are indicated with a dashed line, along with a figure of their actual value.
Table 15-1. Key metrics of the four systems
|Configuration||i386 AMD64 SPARC64||AMD64||Sun4v Sun4u SPARC||i386 AMD64|
|Statements (thousands)||948||1,772||1,042||192 ...|