Computer performance
metrics (things to measure) include
availability,
response time,
channel capacity,
latency,
completion time,
service time,
bandwidth,
throughput,
relative efficiency,
scalability,
performance per watt,
compression ratio,
instruction path length and
speed up.
CPU benchmarks are available.
Availability Availability of a system is typically measured as a factor of its reliability. As reliability increases, so does availability (that is, less
downtime). Availability of a system may also be increased by the strategy of focusing on increasing testability and maintainability and not on reliability. Improving maintainability is generally easier than reliability. Maintainability estimates (repair rates) are also generally more accurate. However, because the uncertainties in the reliability estimates are in most cases very large, it is likely to dominate the availability (prediction uncertainty) problem, even while maintainability levels are very high.
Response time Response time is the total amount of time it takes to respond to a request for service. In computing, that service can be any unit of work from a simple
disk IO to loading a complex
web page. The response time is the sum of three numbers: • Service time – How long it takes to do the work requested. • Wait time – How long the request has to wait for requests queued ahead of it before it gets to run. • Transmission time – How long it takes to move the request to the computer doing the work and the response back to the requestor.
Processing speed Most consumers pick a computer architecture (normally
Intel IA-32 architecture) to be able to run a large base of pre-existing, pre-compiled software. Being relatively uninformed on computer benchmarks, some of them pick a particular CPU based on operating frequency (see
megahertz myth). Some system designers building parallel computers pick CPUs based on the speed per dollar.
Channel capacity Channel capacity is the tightest upper bound on the rate of
information that can be reliably transmitted over a
communications channel. By the
noisy-channel coding theorem, the channel capacity of a given channel is the limiting information rate (in units of
information per unit time) that can be achieved with arbitrarily small error probability.
Information theory, developed by
Claude E. Shannon during
World War II, defines the notion of channel capacity and provides a mathematical model by which one can compute it. The key result states that the capacity of the channel, as defined above, is given by the maximum of the
mutual information between the input and output of the channel, where the maximization is with respect to the input distribution.
Latency Latency is a time delay between the cause and the effect of some physical change in the system being observed. Latency is a result of the limited velocity with which any physical interaction can take place. This velocity is always lower or equal to speed of light. Therefore, every physical system that has non-zero spatial dimensions will experience some sort of latency. The precise definition of latency depends on the system being observed and the nature of stimulation. In communications, the lower limit of latency is determined by the medium being used for communications. In reliable two-way communication systems, latency limits the maximum rate that information can be transmitted, as there is often a limit on the amount of information that is "in-flight" at any one moment. In the field of human-machine interaction, perceptible latency (delay between what the user commands and when the computer provides the results) has a strong effect on user satisfaction and usability. Computers run sets of instructions called a process. In operating systems, the execution of the process can be postponed if other processes are also executing. In addition, the operating system can schedule when to perform the action that the process is commanding. For example, suppose a process commands that a computer card's voltage output be set high-low-high-low and so on at a rate of 1000 Hz. The operating system may choose to adjust the scheduling of each transition (high-low or low-high) based on an internal clock. The latency is the delay between the process instruction commanding the transition and the hardware actually transitioning the voltage from high to low or low to high. System designers building
real-time computing systems want to guarantee worst-case response. That is easier to do when the CPU has low
interrupt latency and when it has a deterministic response.
Bandwidth In computer networking, bandwidth is a measurement of bit-rate of available or consumed
data communication resources, expressed in bits per second or multiples of it (bit/s, kbit/s, Mbit/s, Gbit/s, etc.). Bandwidth sometimes defines the net bit rate (aka. peak bit rate, information rate, or physical layer useful bit rate), channel capacity, or the maximum throughput of a logical or physical communication path in a digital communication system. For example, bandwidth tests measure the maximum throughput of a computer network. The reason for this usage is that according to Hartley's law, the maximum data rate of a physical communication link is proportional to its bandwidth in hertz, which is sometimes called frequency bandwidth, spectral bandwidth, RF bandwidth, signal bandwidth or analog bandwidth.
Throughput In general terms, throughput is the rate of production or the rate at which something can be processed. In communication networks, throughput is essentially synonymous to digital bandwidth consumption. In
wireless networks or
cellular communication networks, the
system spectral efficiency in bit/s/Hz/area unit, bit/s/Hz/site or bit/s/Hz/cell, is the maximum system throughput (aggregate throughput) divided by the analog bandwidth and some measure of the system coverage area. In integrated circuits, often a block in a
data flow diagram has a single input and a single output, and operates on discrete packets of information. Examples of such blocks are
FFT modules or
binary multipliers. Because the units of throughput are the reciprocal of the unit for
propagation delay, which is 'seconds per message' or 'seconds per output', throughput can be used to relate a computational device performing a dedicated function such as an
ASIC or
embedded processor to a communications channel, simplifying system analysis.
Scalability Scalability is the ability of a system, network, or process to handle a growing amount of work in a capable manner or its ability to be enlarged to accommodate that growth.
Power consumption The amount of
electric power used by the computer (
power consumption). This becomes especially important for systems with limited power sources such as solar, batteries, and human power.
Performance per watt System designers building
parallel computers, such as
Google's hardware, pick CPUs based on their speed per watt of power, because the cost of powering the CPU outweighs the cost of the CPU itself. For spaceflight computers, the processing speed per watt ratio is a more useful performance criterion than raw processing speed due to limited on-board resources of power.
Compression ratio Compression is useful because it helps reduce resource usage, such as data storage space or transmission capacity. Because compressed data must be decompressed to use, this extra processing imposes computational or other costs through decompression; this situation is far from being a free lunch. Data compression is subject to a space–time complexity trade-off.
Size and weight This is a tradeoff involved in mobile systems, from the scale of smart phones to portable embedded systems in spacecraft.
Environmental impact The effect of computing on the environment, during manufacturing and recycling as well as during use. Measurements are taken with the objectives of reducing waste, reducing hazardous materials, and minimizing a computer's
ecological footprint.
Transistor count The number of
transistors on an
integrated circuit (IC). Transistor count is the most common measure of IC complexity. == Benchmarks ==