1.6 performance
Assessing the performance of computers can be quite challenging. The scale and intricacy of modern software systems, together with the wide range of performance improvement techniques employed by hardware designers,have made performance assement much more difficult.
When trying to choose among different computers, performance is an important attribute. Accurately measuring and comparing different computers is critical to purchasers and therefore to designers. The people selling computers know this as well. Often, salespeople would like you to see their computer in the best possible light, whether or not this light accurately reflects the needs of the purchaser‘s application. Hence, understanding how best to measure performance and the limitations of performance measurements is important in selecting a computer.
The rest of this section describes different ways in which performance can be determined; then, we describe the metrics for measuring performance from the viewpoint of both a computer user and a designer. We also look at how these metrics are related and present the classical processor performance equation, which we will use throughout the text.
Defining performance
When we say one computer has better performance than another, what do we mean? Although this question might seem simple, an analogy with passenger airplanes shows how subtle the question of performance can be. Figure 1.14 lists some typical passenger airplanes, together with their cruising speed, range, and capacity. If we wanted to know which of the planes in this table had the best performance, we would first need to define performance. For example, considering different measures of performance,we see that a plane with the highest cruising speed was Concorde (retired from service in 2003), the plane with the longest range is the DC-8, and the plane with the largest capacity is the 747.
Let‘s suppose we define performance in terms of speed. This still leaves two possible definitions. You could define the fastest plane as the one with the highest cruising speed, talking a single passenger from one point to another in the least time. If you were interested in transporting 450 passengers from one point to another, however, the 747 would clearly be the fastest, as the last column of the figure show. Similarly,we can define computer performance in several different ways.
If you were running a program on two different desktop computers, you‘d say that the faster one is the desktop computer that gets the job done first. If you were running a datacenter that had several servers running jobs subnitted by many users, you‘d say that the faster computer was the one that completed the most jobs during a day. As an individual computer user, you are interested in reducing respone time-- the time between the start and completion of a task---also referred to as execution time. Datacenter managers are often interested in increasing throughput or bandwidth--- the total amount of work done in a given time. Hence, in most cases, we will need different performance metrics as well as different sets of applications to benchmark personal mobile devices, which are more focused on response time, versus servers, which are more focused on throughput.
Measuring Performance
Time is the measure of computer performance: the computer that performs the same amount of work in the least time is the fastest. Program execution time