Once upon a time, the clock rate of a processor was considered by many to be representative of a PC's speed. Today's PC users are far more savvy in recognising that the clock speed alone doesn't reflect a processor's performance, and also that the processor isn't the only component that dictates the speed.

Performance depends on many factors, but it's hard to gain an accurate picture of what speed a processor, motherboard, memory configuration, graphics card and hard disk will achieve. Yet in choosing a new PC or assessing the impact of an upgrade, it's important to be able to measure a PC's performance.

This is where benchmarking comes in, but with so many benchmarks to choose from, it's hard to know which to pick. The bottom line is that no one benchmark - or even one type of benchmark - will fulfil all possible requirements.

Different benchmarks are designed for different purposes, and you need to understand the differences when making your choice. Here, we'll introduce you to the main types of benchmark, highlight the pros and cons of each, and guide you into using them on your PC.

Benchmarks classified

Benchmarks typically fall into two categories - synthetic and application-based. All involve executing a program while measuring the time taken for the code to complete, but that's where the similarity ends.

A synthetic benchmark is a program written for the sole purpose of obtaining a figure that sums up the performance of a PC or its components. These can be divided into two categories.

The first subdivision is the component-level benchmark, which is probably the most familiar to PC users. This is a piece of software that exercises components individually. Strictly speaking that's impossible, because the execution of software generally involves multiple components, but good software can minimise the effect of components other than the one being benchmarked.

A component-level benchmark will, as a minimum, report scores for the processor, memory, graphics card and hard disk, although these scores are often subdivided so you can distinguish a disk's read speed from its write speed, for example.

These benchmarks can play an important role in selecting components for an upgrade, so long as you're able to use a benchmark package on your prospective purchase. They are also invaluable in judging the effectiveness of system tuning or overclocking your processor.

Other synthetic benchmarks (which we'll refer to as 'combined', although that term isn't used universally) aim to exercise the various components together in a way that's representative of real-world use. These benchmarks are intended to provide an overall measure of system performance, so would be useful in choosing a new PC, but there are a couple of issues to bear in mind.

First, it's pretty much impossible to write a general-purpose benchmark since not all people use their PC in the same way. A gamer, for example, will be highly dependent on the performance of the graphics card, while someone working on a database will be much more interested in the disk speed.

The implication is that any combined benchmark will be tailored to a specific type of application, and you should choose one that's representative of your PC use.

The second issue is that even if you choose the most suitable benchmark, the way it exercises the components in a PC will only ever approximate real-world use.

Real-world apps

Our third type of benchmark, which is based on real-world applications, provides the solution to this drawback. An application based benchmark runs real software using simulated keyboard strokes and mouse actions, in much the same way that a macro can be used to drive a Microsoft Office application, while measuring the time taken to complete the process.

These benchmarking solutions can be very specific, carrying out a single type of action in a single package, or they can carry out a range of actions considered typical of real-world use.

Combined synthetic benchmarks, still commonly used in Unix, are rare in the world of the Windows PC, although some component-level packages do supply various overall scores that are obtained by combining the component scores. This being the case, we'll be concentrating on component-level and application based benchmarking.

Sandra

Our chosen component-level synthetic benchmark is Sandra (System Analyser, Diagnostic and Reporting Assistant) from SiSoftware. Although more advanced versions are available, the Lite edition is remarkably powerful given that it's free.

A good place to start would be running the 'Overall Score' wizard, which you can find under the Tools tab. This measures system performance in five broad categories: arithmetic, shading, multimedia, memory and disk. If you upgrade or optimise your system you can come back here later to see the effect as hard figures.

While you're here you might also want to generate a report on how to optimise your system using the 'Analysis and Advice' wizard. Although a lot of the tips will be obvious, and not all relate to improving performance, you might pick up one or two useful pointers.