You are here

Measuring performance

1 June, 2015 - 16:24

'Sweetheart, how deep is your love?' Ms Snow asked.

'I love you more than you can imagine'. Mr Sunshine answered.

'Why do you say so?' Ms Snow asked again.

'I love you a lot because I buy you a jacket when you are cold; I cook when you are hungry; I will do anything for you because I love you'. Mr Sunshine answered.

'Well then, I guess I love you more because I let you to yell at me all the time!' Ms Snow replied.

The only reason to buy a newer, faster computer system is to improve the execution performance of software programs (unless you have a broken computer). My questions to you are: could you tell me precisely how to determine whether a computer is fast? How can you determine that computer X performs better than computer Y? Mr ProudOfIt and Mr NoClue used the speed of the processor to quantify their computer’s performance; even Mr Sunshine used some countable but lame excuses to justify his love (uncountable) for Ms Snow.

In the world of science, we use standardized mechanisms to measure and compare. For example, we use a ruler to measure the distance between objects in metres; we use a stopwatch with a given travel distance to measure the speed of the automobiles in kilometres per hour. We use these tools combined with standardized mechanisms to compare entities using countable quantities.

The single most important aim of this course is to make sure that you understand and are able to apply the underlying concepts of today's computer designs to compare and analyse the performance of present and future computer systems. To achieve this aim, you must first have a thorough understanding of the tools and means of measuring computer performance. In the remainder of this section, you will learn the common means to compare a computer's performance (metrics), and the tools that we use to obtain those means (benchmarks). First, let's define a couple of terms:

  • Execution time: the time between the start and the completion of a job or an event. It is also commonly referred to as Response time.
  • Throughput: the total amount of work completed in a given time.

Let's consider the following example:

Example

Despite many ways of measuring computer performance, you can see that time is the key element in all measurements -- the system that can complete the execution of a specific task in the minimum time is the faster.

Over the years, the use of execution time as a way to compare the performance of computers has diminished. Computer systems are now more often compared using throughput: how many simulations can be completed per hour? How many instructions can be executed per second? How much data can be transferred per second? We will examine some common metrics used to compare system performance later in this section.

It's time to state clearly the definition of performance we will use throughout the module:

Performance                 = Number of jobs or tasks completed in a given unit of time
 

If a computer system can execute an instruction every 10 milliseconds, we can say the performance of the computer system is:

Performance
 
  = 100 instructions per second

Now you have a basic understanding of these terms, it's time for you to acquire a deeper understanding of the metrics we use in the science of computers for comparing performance.